Bonjour,
J'ai écris un petit trigger+ procédure afin d'avoir un historique de modification de champs ... Voici ce que cela donne, seulement j'ai un problème de l'insertion de ma date j'aimerais qu'elle soit plus précise date+heure ce qui me permettrait de faire un order by Madate plus précis!
Voici ce que ça donne :
Donc comme vous pouvez le voir aujourd'hui j'ai une zone dmo (date de modif) et hmo (heure de modif). Sauf que comme un naze ma zone hmo est un CHAR ... Donc cette zone va disparaitre ce qui donne :
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 CREATE OR REPLACE PROCEDURE ufd_bkhiccl_on_bkcccl_insert ( p_age IN CHAR , p_cli IN CHAR , p_anva IN CHAR , p_nova IN CHAR , p_lib IN CHAR , p_uti IN CHAR , p_dmo IN DATE , p_hmo IN CHAR , p_code IN CHAR) AS BEGIN IF ( p_code = '105' OR p_code = '4' OR p_code = '101' OR p_code = '104' OR p_code = '106' OR p_code = '107' OR p_code = '108' ) THEN INSERT INTO ufd_bkhiccl VALUES ( p_age , p_cli , p_anva , p_nova , p_lib , p_uti , p_dmo , p_hmo , p_code); END IF; END ufd_bkhiccl_on_bkcccl_insert; CREATE OR REPLACE TRIGGER ufd_bkhiccl AFTER INSERT ON BKCCL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN ufd_bkhiccl_on_bkcccl_insert(:new.age, :new.cli, :new.anva, :new.nova, :new.lib, :new.uti, :new.dmo, :new.hmo, :new.nozone); END; /
Sauf que j'ai une erreur que je n'arrive pas à déceler sur le code en gras, oracle me dit parenthèse de droite absente ...
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 CREATE OR REPLACE PROCEDURE ufd_bkhiccl_on_bkcccl_insert ( p_age IN CHAR , p_cli IN CHAR , p_anva IN CHAR , p_nova IN CHAR , p_lib IN CHAR , p_uti IN CHAR , p_dmo IN DATE , p_hmo IN CHAR , p_code IN CHAR) AS BEGIN IF ( p_code = '105' OR p_code = '4' OR p_code = '101' OR p_code = '104' OR p_code = '106' OR p_code = '107' OR p_code = '108' ) THEN INSERT INTO ufd_bkhiccl VALUES ( p_age , p_cli , p_anva , p_nova , p_lib , p_uti , TO_DATE(p_dmo||p_hmo,'DD-MM-YYYY HH24:MI:SS') , p_code); END IF; END ufd_bkhiccl_on_bkcccl_insert; CREATE OR REPLACE TRIGGER ufd_bkhiccl AFTER INSERT ON BKCCL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN ufd_bkhiccl_on_bkcccl_insert(:new.age, :new.cli, :new.anva, :new.nova, :new.lib, :new.uti, :new.dmo, :new.hmo, :new.nozone); END; /
Auriez vous une idée svp?
Merci d'avance.
Partager