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.
Je débute en sql dynamique mais la je comprend pas l'erreur.
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;
merci
Partager