怎么用SqlServer实现 ,在删除一个表的记录 之前,对另外一个表中的记录进行更改。用oracle可以用before delete,但是SqlServer没有before。
请给一个具体的例子。多谢!
1)学会使用搜索,如:http://www.baidu.com/s?wd=sqlserver+%B4%A5%B7%A2%C6%F7+before&rsv_bp=0&rsv_spt=3&inputT=16000
2)通过改写delete操作,可以实现近似的效果
create table a(aa int primary key);
create table b(bb int references a(aa));
insert into a values(1);
insert into b values(1);
go
create trigger tri_delete_a on a
instead of delete
as
begin
declare @abc int;
select @abc = aa from deleted;
delete b where bb = @abc;
delete a where aa = @abc;
end
此时可以发现可以在删除a记录前更改其他表