[Résolu][PL/SQL] Appel procédure stockée dans trigger
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 :
Code:
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 ; |
Avez-vous une idée du problème ? Est-ce que je peux appeler une proc dans un trigger ?
Merci de votre aide. :wink:
A+.
Re: [PL/SQL] Appel procédure stockée dans trigger
Citation:
Envoyé par Félia
Est-ce que je peux appeler une proc dans un trigger ?
Oui !
Pour faire rapide, supprimez (temporairement) la section exception dans votre déclencheur, le message d'erreur devrait vous sauter au nez tout de suite !