Bonjour,
Je ne suis pas un utilisateur de trigger en général, c'est pour ceci que je viens demander votre aide car je ne trouve aucun moyen de résoudre mon problème...
Il s'avère que en essayant d'exécuter avec sqlplus voici les erreurs que j'obtiens :
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 CREATE OR REPLACE TRIGGER INS_UPD_bkizcprt AFTER INSERT OR UPDATE ON BKIZCPRT FOR EACH ROW DECLARE f_sit_cent CHAR(5) := '99000'; f_date_comptable1 CHAR(8) := '02011900'; f_date_comptable2 CHAR(8) := '02011900'; CURSOR cur_bkizcprt IS SELECT * FROM bkizcprt AND age = :OLD.age AND ope = :OLD.ope AND eve = :OLD.eve AND ave = :OLD.ave AND iden = :OLD.iden AND lang = :OLD.lang; f_bkizcprt cur_bkizcprt%ROWTYPE; CURSOR cur_sit_cent IS SELECT MNT1 FROM BKNOM WHERE CTAB = '098' AND CACC = 'CENT'; CURSOR cur_date_comptable IS SELECT MNT1, MNT2 FROM BKNOM WHERE CTAB = '001' AND CACC = f_sit_cent AND AGE = f_sit_cent; BEGIN OPEN cur_bkizcprt; FETCH cur_bkizcprt INTO f_bkizcprt; IF cur_bkizcprt%FOUND THEN -- Recherche du site central OPEN cur_sit_cent; FETCH cur_sit_cent INTO f_sit_cent; IF cur_sit_cent%FOUND THEN -- Recherche de la date comptable OPEN cur_date_comptable; FETCH cur_date_comptable INTO f_date_comptable1, f_date_comptable2; IF cur_date_comptable%FOUND THEN -- Quelle est la bonne date comptable ? IF f_date_comptable2 IS NULL THEN :NEW.date_dermodif := f_date_comptable1; ELSE :NEW.date_dermodif := f_date_comptable2; END IF; END IF; END IF; UPDATE bkizcprt SET date_dermodif = to_date(:NEW.date_dermodif) --Date de modifcation WHERE age = :OLD.age AND ope = :OLD.ope AND eve = :OLD.eve AND ave = :OLD.ave AND iden = :OLD.iden AND lang = :OLD.lang ; END IF; END; / SHOW errors; exit;
Cependant, je trouve que cela ne correspond à rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 7/10 PL/SQL: SQL Statement ignored 8/10 PL/SQL: ORA-00933: la commande SQL ne se termine pas correctement
Si une âme charitable pouvait m'aider svp.
Merci d'avance.
Partager