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 : Sélectionner tout - Visualiser dans une fenêtre à part
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,