SQL dyanmic Cursor et SPLT de String PLS-00457
Bonjour,
j'ai l'erreur PLS-00457: les expressions doivent être de type SQL dans une procedure PL sous Oracle10
J'utilise du SQL dynamic et c'est au moment ou open le curseur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
DECLARE
-- TYPE typeTeu_tab IS TABLE OF LO_TEU.TEU_UID%TYPE INDEX BY BINARY_INTEGER;
TYPE typeTeu_tab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
----
----
PROCEDURE P_EXPORT_CONSO_VESSEL(pLst IN VARCHAR2
v_SQLYEAR varchar2(4000);
TYPE CURSOR_EXPORT IS REF CURSOR;
cValuationReport CURSOR_EXPORT;
arrayTeu typeTeu_tab;
arrayTeu:=SPLIT (vLst,',');
v_SQLYEAR :='SELECT
----
----
v_SQLYEAR+'(select teu_uid from lo_teu where TEU_UID in (: arrayTeu))';
//Erreur ICI PLS-00457: les expressions doivent être de type SQL
OPEN cValuationReport FOR v_SQLYEAR USING arrayTeu;
LOOP
END LOOP;
END P_EXPORT_CONSO_VESSEL;
BEGIN
vLst:='2,6,8,10,12';
P_EXPORT_CONSO_VESSEL(vLst, |