当前位置:  开发笔记 > 数据库 > 正文

如何在T-SQL 2005中删除之前触发触发器?

如何解决《如何在T-SQL2005中删除之前触发触发器?》经验,为你挑选了2个好方法。

如何在T-SQL 2005中删除之前触发触发器?FOR实际上在事件发生后触发,它们似乎在TRIGGER函数中没有BEFORE参数.INSTEAD OF不是我想要的.我需要在删除记录之前触发.有任何想法吗?



1> Tom H..:

您可以使用INSTEAD OF选项,只需在末尾显式删除行.例如:

CREATE TRIGGER dbo.My_Table_Delete_Instead_Of_Trigger
ON dbo.My_Table
INSTEAD OF DELETE
AS
BEGIN

     -- Do some stuff here

     DELETE T
     FROM DELETED D
     INNER JOIN dbo.My_Table T ON T.PK_1 = D.PK_1 AND T.PK_2 = D.PK_2
END

这假定主键由PK_1和PK_2列组成.



2> Mitch Wheat..:

你不能.但是您可以在AFTER DELETE触发器中执行回滚.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有