J'ai mis en place le déclencheur suivant:Créer déclencheur avec try ... catch dans SQL Server 2005
CREATE TRIGGER [OnContactDeleted]
ON [TABLE].[Contact]
INSTEAD OF DELETE
AS
BEGIN
SET NOCOUNT ON
/*Store contact ID to variable*/
Update [TABLE].[Account] Set [PrimaryContactID] = null where [TABLE].[Account].[PrimaryContactID] = (Select ContactID from Deleted)
Delete from [TABLE].[Contact] where [TABLE].[Contact].[ContactID] = (Select ContactID from Deleted)
END
Il est clair un ensemble de clés étrangères sur une autre table, puis supprimez l'enregistrement en cours. Cela a été fait car la définition de la clé étrangère sur null lors de la suppression ne fonctionne pas.
Ma question concerne l'enrobage de ce déclencheur dans un bloc try ... catch où je peux revenir en arrière si une exception se produit. Est-ce une bonne pratique et devrais-je le faire pour ce genre de déclencheur?
Merci, Jason