Friday, April 27, 2012

PL/SQL: loop on associative array

In package:
TYPE hash_type IS TABLE OF VARCHAR2(100) INDEX BY VARCHAR2(100);
In package body:
ze_assoc hash_type;
BEGIN
    my_col_name := ze_assoc.first;
    LOOP
        EXIT WHEN my_col_name is null;
        my_string := my_string || ' OR ' || my_col_name || '=' || ze_assoc(my_col_name);
        my_col_name := ze_assoc.next(my_col_name);
    END LOOP;
END;