课外天地 李树青学习天地数据库系统原理课件 → [求助]SqlServer 实现oracle 中触发器 before delete


  共有21708人关注过本帖树形打印复制链接

主题:[求助]SqlServer 实现oracle 中触发器 before delete

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1939 积分:26594 威望:0 精华:34 注册:2003/12/30 16:34:32
回复  发帖心情 Post By:2011/9/19 9:14:56 [显示全部帖子]

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记录前更改其他表

 



查看使用道具详细信息
获赠金币帖,共获得 0 个金币
 回到顶部