问一个关于触发器的问题,INSTEAD OF delete里面执行delete会再次触发这个触发器吗

尘中远 2012-12-01 09:35:56
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时就直接删除,那么如果还会触发的话不就死循环了,特此求解!
...全文
155 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2012-12-02
  • 打赏
  • 举报
回复
不会,不然就死循环了。
专注or全面 2012-12-02
  • 打赏
  • 举报
回复
不会的,你试试不就知道了

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧