Bonjour,
Je souhaite créer un trigger ON delete sur une table pour permettre de recupérer la ligne supprimée et de faire un INSERT INTO sur une autre table (un espèce d'archivage de table A vers A_archive )
Le trigger est déjà crée :
Mais cela ne fonctionne pas, pourtant il est bien présent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TRIGGER TRIGGER_on_delete_A ON A FOR DELETE AS INSERT INTO A_archive (numero, container, date_heure, badge) SELECT numero, container, date_heure, badge FROM A
Vérifier avec cette requête :
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 SELECT TR.name AS nomTrigger, T.name AS nomTable, TR.is_disabled AS estActif, CASE TR.is_instead_of_trigger WHEN 1 THEN 'INSTEAD OF' ELSE 'AFTER' END AS typeDeclenchement, TRE.type_desc AS DMLDeclencheur, TRE.is_first AS estPremier, TRE.is_last AS estDernier FROM sys.triggers AS TR JOIN sys.tables AS T ON TR.parent_id = T.object_id JOIN sys.trigger_events AS TRE ON TR.object_id = TRE.object_id ORDER BY T.name, TR.name
Est-ce qu'il n'y a pas une option sur le type de déclenchement BEFORE ou AFTER?
J'ai loupé une étape sur la création?
Merci d'avance
Partager