Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como usar um Oracle Associative Array em uma consulta SQL


Eu criaria um tipo de banco de dados assim:
create type v2t as table of varchar2(30);
/

E então no procedimento:
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;

(onde databaseArray é declarado do tipo v2t.)