Salut à tous,
J'ai un petit soucis et j'aimerais avoir votre avis. J'ai créé une procédure stockée qui fait diverses actions dans des tables (des truncates, des inserts, ...) et qui fonctionne correctement.
Je veux la lancer grâce à un trigger après un insert sur une autre table (qui n'est d'ailleurs pas du tout sollicitée dans ma procédure).
Quand je veux faire mon test, je fais un insert dans ma fameuse table. Mais, là, rien ne se passe. Je constate que la procédure stockée n'est pas lancée.
Pour info complémentaire, voici ma proc et mon trigger :
Avez-vous une idée du problème ? Est-ce que je peux appeler une proc dans un trigger ?
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 create or replace procedure BASCULE_INVENTAIRE_TOURNANT is MONINVENTAIRE physical.INVENTORYTAG%type; begin select INVENTORYTAG into MONINVENTAIRE from physical where INVENTORYTAG in ('GENER','TOURN'); if MONINVENTAIRE = 'GENER' then execute immediate('truncate table PHYSICAL_TEMP'); execute immediate('insert into PHYSICAL_TEMP select * from physical '); execute immediate('truncate table physical'); execute immediate('insert into physical select * from PHYSICAL_SAVE'); execute immediate('truncate table PHYSICAL_SAVE'); execute immediate('insert into PHYSICAL_SAVE select * from PHYSICAL_TEMP'); commit; end if; exception when others then dbms_output.put_line(sqlerrm); end; create or replace trigger WMSP.BASCULE after insert on AVANCEMENT_INVENTAIRE_TOURNANT referencing new as new old as old declare begin BASCULE_INVENTAIRE_TOURNANT; exception when others then -- Consider logging the error and then re-raise raise; end ;
Merci de votre aide.![]()
A+.
Partager