Bonjour à tous,
Je ne connais pas grand chose en UNIX, je découvre et je dois executer un fichier SQL.
Après avoir transformer mon fichier au format UNIX en ligne de commande, j'essaye d'executer ce fichier SQL mais j'ai des erreurs qui me sont retournées :
Et voici le contenu de mon fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 line 3: DECLARE: command not found line 4: syntax error near unexpected token `(' line 4: `PURGEDUREE NUMBER(12);'
Si quelqu'un peut m'expliquer mes erreurs et me dire si il y en a d'autres, merci d'avance !
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 set serveroutput on DECLARE PURGEDUREE NUMBER(12); PURGEDUREE:=30; NUM_ROW NUMBER(12); NUM_ROW:=0; NUM_ROW_TOTAL NUMBER(12); NUM_ROW_TOTAL:=0; NB_ROW_COMMIT NUMBER(12); NB_ROW_COMMIT:=500; --Curseur sur les commandes Non Injectée datant de plus de 30 jours CURSOR cdePurge IS SELECT ID FROM COMMANDE.TABLE_COMMANDE WHERE DATE_ENREGISTREMENT > (sysdate - PURGEDUREE) AND ETAT_INJECTION = 'NON_INJ'; BEGIN dbms_output.PUT_LINE('Debut de la purge sur les commandes NON_INJ datant de plus de 30 jours'); FOR CURRENT_ID in cdePurge LOOP -- Incrémentation du numéro de ligne courante NUM_ROW:=NUM_ROW+1; -- Incrémentation du numéro de ligne totale NUM_ROW_TOTAL:=NUM_ROW_TOTAL+1; -- effacement des references de la commande et etats delete from COMMANDE.TABLE_COMMANDE_DETAILS WHERE RID_COMMANDE=CURRENT_ID.ID; delete from COMMANDE.TABLE_COMMANDE_XML WHERE RID_COMMANDE=CURRENT_ID.ID; -- effacement de la commande delete from COMMANDE.TABLE_COMMANDE WHERE ID=CURRENT_ID.ID; ------------------- -- commit partiel ------------------- IF NUM_ROW>NB_ROW_COMMIT THEN NUM_ROW:=0; commit; END IF; ---------------------- -- FIN commit partiel ---------------------- END LOOP; dbms_output.PUT_LINE('Fin de la purge sur les commandes NON_INJ datant de plus de 30 jours, nb commandes purgées : ' || NUM_ROW_TOTAL); commit; END; /
Partager