sql >> Base de Datos >  >> RDS >> Oracle

Cómo usar una matriz asociativa de Oracle en una consulta SQL

Crearía un tipo de base de datos como este:

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

Y luego en el procedimiento:

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;

(donde se declara que databaseArray es de tipo v2t.)