Tuesday, March 6, 2007

pl/sql tablolarını tablo şeklinde select cümlesinde kullanma

create or replace type obj_var_seq is table of number;

declare

arr_var_seq obj_var_seq;

cursor c1(p_arr_var_seq obj_var_seq) is
SELECT first_name, last_name
FROM employees
WHERE department_id in (
SELECT column_value
FROM TABLE(CAST(p_arr_var_seq AS obj_var_seq)));

BEGIN

SELECT department_id
BULK COLLECT INTO arr_var_seq
FROM departments
WHERE location_id = 1700;

FOR rec IN c1(arr_var_seq) LOOP
DBMS_OUTPUT.put_line(rec.First_name ' ' rec.Last_name);
END LOOP;

END;