在删除记录之前触发

时间:2010-11-26 09:01:36

标签: sql-server-2005

我正在使用sql server 2005并且在我的数据库中有2个表。 如何在表1中删除之前编写可以将记录插入表2的触发器? 我怎样才能做到这一点? 我需要这个用于VB.Net。 我已经与Sql server建立了连接。

2 个答案:

答案 0 :(得分:1)

假设有两个表tblA和tblB。 当任何记录从tblA删除然后使用触发器时我们可以将删除的记录插入到tblB

create trigger t1 on tblA 
for delete
as
insert into tblB select * from deleted

答案 1 :(得分:1)

逻辑上,INSERT是在DELETE之前还是之后无关紧要,因为触发器是DELETE创建的隐式事务的一部分。

因此,如果INSERT失败,则回退DELETE(通过适当的处理)。首先是INSERT,DELETE也一样。

换句话说,你可以使用INSTEAD OF(或BEFORE)触发器来执行INSERT,但是你必须在触发器中编写自己的DELETE。由于我上面所说的关于事务的内容,你可以使用AFTER / FOR触发器。像Pankaj Agarwal的回答