Einfach versuchen, einen Cursor für die von mir angegebenen IDs zurück zu bekommen.
%Vor%Hinweis: someschema.someentity.id ist ein NVARCHAR2 (38)
PL / SQL: ORA-00382: Der Ausdruck ist vom falschen Typ
PL / SQL: ORA-22905: kann nicht auf Zeilen von einem nicht verschachtelten Tabellenelement zugreifen
Wo gehe ich falsch?
Sie können nur aus einem Sammlungstyp auswählen, der in der Datenbank über eine CREATE TYPE-Anweisung definiert ist, nicht ein assoziatives Array:
%Vor%Dies ist eine Index-by-Tabelle, die ein PL / SQL-Typ ist.
Sie können nur SQL-Typen in der SQL-Engine von Oracle verwenden. Oder PL / SQL-Typen, die Oracle so hacken kann, dass sie wie SQL-Typen aussehen.
Sie können eine einfache Array-ähnliche Sammlung erstellen und sie als Ergebnis verwenden. (kein Index von)
%Vor%Aber die beste Kompatibilität und Stabilität erhalten Sie, indem Sie es als globalen SQL-Typ deklarieren und in Ihrem Paket verwenden:
create typ TGuidList ist eine Tabelle von NVarchar (38);
Bearbeiten: Sie brauchen keinen NVarChar für eine GUID, oder? Ein guter alter VarChar sollte den Trick gut machen.
Tags und Links oracle plsql associative-array cursor