Bonjour

J'ais une erreur sur cette insertion mais oracle me met pas le type d'erreur, l'insertion simple sans clause where fonctionne bien mais des que je met ma condition sa plante??
Je cherche et test différente façon mais la je suis un peu bloquer.

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
 
WHILE vNb_Cpt > 0 LOOP
vNb_Cpt := vNb_Cpt-1 ;
 
sql_str := 'INSERT INTO DATAMART_NMD.'|| pTable ||'
              SELECT DATACT, ETANOU ,ETAPDN,IDEVTE,MSI ,IMS,DATMAJDMT 
FROM ( select ROWNUM r, e.* FROM (select * FROM DATAMAJ_NMD.' || pTablecopie || ' ) e  
WHERE DATMAJDMT > ADD_MONTHS(sysdate, '||pMonth||' ) and ROWNUM <= '||  vNb_cpt2  ||'  ) f 
WHERE f.r >= '||  vNb_cpt1 ||' ';
 EXECUTE IMMEDIATE sql_str ;
 
vNb_cpt1 := vNb_cpt1 + 100001 ;
vNb_cpt2 := vNb_cpt1 + 100000 ;
 
COMMIT;
END LOOP;
Je débute en sql dynamique mais la je comprend pas l'erreur.

merci