【发布时间】:2010-10-27 20:09:39
【问题描述】:
我想防止删除特定记录。此触发器适用于该特定记录。但是,其他记录在被删除时仍然存在。为什么?
ALTER TRIGGER [Globalization].[CountriesTracker]
ON [Globalization].[Countries]
INSTEAD OF DELETE
AS
BEGIN
SET NOCOUNT ON;
IF ((Select COUNT(*) from [Deleted]
Where [Deleted].[CountryId] = '36bd1536-fb56-4ec4-957e-1b3afde16c56') = 1)
BEGIN
RAISERROR('You can not delete this specific record!', 0, 0)
ROLLBACK TRANSACTION
RETURN
END
END
如何确保按预期删除不符合上述条件的行?
【问题讨论】:
-
你在哪里提交交易?删除在哪里执行?
标签: sql-server triggers sql-server-2008-r2