Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So verwenden Sie ein Oracle Associative Array in einer SQL-Abfrage

Ich würde einen Datenbanktyp wie diesen erstellen:

create type v2t as table of varchar2(30);
/

Und dann in der Prozedur:

FOR i IN 1..associativeArray.COUNT LOOP
    databaseArray.extend(1);
    databaseArray(i) := associativeArray(i);
END LOOP;

OPEN refCursor FOR
SELECT T.*
FROM   SOME_TABLE T,
       ( SELECT COLUMN_VALUE V
         FROM   TABLE( databaseArray )
       ) T2
WHERE  T.NAME = T2.V;

(wobei databaseArray als vom Typ v2t deklariert ist.)