数据库SQL2000触发器问题
有两张表ruzhu和kehuruzhu(1,2,3,4,5,),kehu(1,2,3,4,5,6,7,8,),如何实现这样的功能:当ruzhu表里五个信息被修改、删除后,...
有两张表ruzhu和kehu ruzhu(1,2,3,4,5,), kehu(1,2,3,4,5,6,7,8,),如何实现这样的功能:当ruzhu表里五个信息被修改、删除后,kehu表对应的数据信息自动进行相应的修改、删除操作
展开
展开全部
通过触发器来解决脚本如下
假定你给的这两个表的表结构如下:
ruzhu(id,fcol1,fcol2) 主键为id
kehu(id,fcol1,fcol2) 主键为id
SQL SERVER的语法如下:
create trigger tr_temp on ruzhu
for update,insert,delete
as
--删除记录时
delete a from kehu a inner join deleted b on a.id=b.id
--新增记录
insert kehu(id,fcol1,fcol2) select id,fcol1,fcol2 from inserted
--修改记录时
update a set a.fcol1=b.fcol1,a.fcol2=b.fcol2 from kehu a inner join inserted b
on a.id=b.id
假定你给的这两个表的表结构如下:
ruzhu(id,fcol1,fcol2) 主键为id
kehu(id,fcol1,fcol2) 主键为id
SQL SERVER的语法如下:
create trigger tr_temp on ruzhu
for update,insert,delete
as
--删除记录时
delete a from kehu a inner join deleted b on a.id=b.id
--新增记录
insert kehu(id,fcol1,fcol2) select id,fcol1,fcol2 from inserted
--修改记录时
update a set a.fcol1=b.fcol1,a.fcol2=b.fcol2 from kehu a inner join inserted b
on a.id=b.id
追问
新增功能可以,但是修改和删除不可以,都是提示update/delete 语句与column reference 约束。。。冲突
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询