INSTEAD OF DELETE trigger which keeps Vendors from being deleted.
Properties
Creation Date
27/10/2017 14:33
Encrypted
Ansi Nulls
Trigger Type
Insert
Delete
Update
After
Instead Of
Trigger Definition
CREATETRIGGER[Purchasing].[dVendor]ON[Purchasing].[Vendor]
INSTEAD OFDELETENOTFORREPLICATIONASBEGINDECLARE@Countint;
SET@Count=@@ROWCOUNT;
IF@Count=0RETURN;
SET NOCOUNT ON;
BEGIN TRY
DECLARE@DeleteCountint;
SELECT@DeleteCount=COUNT(*) FROM deleted;
IF@DeleteCount>0BEGINRAISERROR
(N'Vendors cannot be deleted. They can only be marked as not active.', -- Message
10, -- Severity.
1); -- State.
-- Rollback any active or uncommittable transactions
IF@@TRANCOUNT>0BEGINROLLBACKTRANSACTION;
ENDEND;
END TRY
BEGIN CATCH
EXECUTE[dbo].[uspPrintError];
-- Rollback any active or uncommittable transactions before
-- inserting information in the ErrorLog
IF@@TRANCOUNT>0BEGINROLLBACKTRANSACTION;
ENDEXECUTE[dbo].[uspLogError];
END CATCH;
END;