INSTEAD OF delete这个触发器里面再执行delete会不会又激活这个触发器?
如
有个表RelationTree,里面有个ID和ParentID还有一个Mark字段,如果Mark小于100的话,就删除这个表的ParentID为id的内容
如下:
create trigger trig_Delete_RelationTree on RelationTree INSTEAD OF delete
AS
EGIN
declare @ID int
declare @Mark int
SET NOCOUNT ON;
IF exists (select count(*) from deleted)
BEGIN
select @ID = id, @Mark = Mark from deleted
IF(@Mark < 100)--
BEGIN
delete RelationTree where ParentID = @ID;
END
END
END
现在问题来了,不知道这个代码里delete会不会再次触发这个触发器?
同时,我想@Mark >= 100时就直接删除,那么如果还会触发的话不就死循环了,特此求解!
------最佳解决方案--------------------
不会的,你试试不就知道了
------其他解决方案--------------------
不会,不然就死循环了。