Hier ist die gespeicherte Prozedur, die ich geschrieben habe: In dieser Prozedur ist "p_subjectid" ein Array von Zahlen, die vom Frontend übergeben werden.
PROCEDURE getsubjects(p_subjectid subjectid_tab,p_subjects out refCursor)
as
BEGIN
open p_subjects for select * from empsubject where subject_id in
(select column_value from table(p_subjectid));
--select * from table(cast(p_subjectid as packg.subjectid_tab))
END getsubjects;
Dies ist die Fehlermeldung, die ich erhalte.
Oracle error ORA-22905: cannot access rows from a non-nested table item OR
Wie ich in verschiedenen Beiträgen gesehen habe, habe ich versucht, "cast(p_subjectid as packg.subjectid_tab)" innerhalb der Tabellenfunktion zu verwenden, wie im unten stehenden Kommentar angegeben, aber ich erhalte einen anderen Fehler: ORA-00902: invalid datatype
.
Und dies ist die Definition der "subjectid_tab".
type subjectid_tab is table of number index by binary_integer;
Kann mir jemand sagen, wo der Fehler liegt und ob mit meinem Verfahren etwas nicht stimmt?