Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Associative array as inbound parameter
I really need some help. I am trying to write a procedure with one
inbound parameter as associative array and return a reference cursor.
I'm passing in a list of record ID's that I need to use to select the
rows returned in the cursor.
I believe I have everything working except that the procedure won't compile when try to access the values in the associative array from within the procedure. What am I doing wrong? Isn't it possible to use the values from an associative in a select statement?
CREATE OR REPLACE PACKAGE Array_Package_Test AS
TYPE t_cursor
IS REF CURSOR RETURN ENGINE_OIL%ROWTYPE;
TYPE number_array IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
PROCEDURE array_procedure_test (
enginetimes_parm IN number_array ,out_cursor OUT t_cursor);
CREATE OR REPLACE PACKAGE BODY Array_Package_Test AS
PROCEDURE array_procedure_test (
enginetimes_parm IN number_array, out_cursor OUT t_cursor)
SELECT * FROM ENGINE_OIL WHERE engine_timeid IN (SELECT * FROMTABLE(enginetimes_parm));
END array_procedure_test;
END;
/
CREATE TABLE ENGINE_OIL
(
QUARTS NUMBER(10,2) NOT NULL, ENGINENUMBER NUMBER NOT NULL, AIRCRAFTNUMBER NUMBER NOT NULL, ENGINEDATETIME DATE NOT NULL, ENGINE_TIMEID NUMBER NOT NULL) Received on Wed Jul 19 2006 - 20:13:31 CDT