Oracle
 sql >> Base de données >  >> RDS >> Oracle

PLS-00386 :incompatibilité de type détectée entre le curseur FETCH et les variables INTO

vous auriez besoin d'utiliser le constructeur d'objet sur le select :

SELECT OBJTYP(A, B, C)
   FROM my_table
  WHERE Study_Number = p_StudyNum(i)

mais vous pouvez simplifier la procédure à ceci au lieu de toutes ces boucles :

begin
select cast(multiset(select /*+ cardinality(s, 10) */ a, b, c
                        from my_table t, table(p_StudyNum) s
                      where t.study_number = s.column_value) as OutputTyp)
   into p_StdyDtl
   from dual;
end;