Voici la procédure stockée que j'ai écrite. Dans ce proc "p_subjectid" est un tableau de nombres transmis à partir du frontend.Erreur Oracle ORA-22905: impossible d'accéder aux lignes d'un élément de table non imbriqué
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;
Ceci est l'erreur que j'obtiens.
Oracle error ORA-22905: cannot access rows from a non-nested table item OR
comme je l'ai vu dans les différents post, j'ai essayé casting « casting (comme p_subjectid packg.subjectid_tab) » Fonction de table à l'intérieur comme indiqué dans le commentaire below.But je reçois une autre erreur: ORA-00902: invalid datatype
.
Et c'est la définition du "subjectid_tab". Est-ce que quelqu'un peut me dire quelle est l'erreur? Quelque chose ne va pas avec la procédure.
Cela ne fonctionne pas dans Oracle 11g, au cas où quelqu'un d'autre aurait du mal .. PLS-00355: Utilisation de la table pl/sql non définie dans ce contexte. Tout semble bien dans Oracle 12c si. Comme un travail autour de 11g, si vous ne pouvez que lier à des tableaux associatifs (comme nodejs), j'ai bouclé mon tableau associatif dans une table imbriquée (pas de suffixe INDEX BY) d'abord; ce qui tue la performance, mais que pouvez-vous faire? Si quelqu'un connaît un meilleur moyen, n'hésitez pas à tendre la main. –