首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL表的类似触发器有关问题

2012-06-21 
SQL表的类似触发器问题表A列:a(关键字),b,c,d,e,f表B列:a(关键字),c,d,f要求在表A修改、删除、插入的时候,表

SQL表的类似触发器问题
表A
列:a(关键字),b,c,d,e,f

表B
列:a(关键字),c,d,f

要求在表A修改、删除、插入的时候,表B跟着变化修改删除或插入

说白了,就是一模一样,但是表B操作的时候不影响表A

求 SQL 2000 个人版 的代码

[解决办法]
CREATE TRIGGER TRI_A_B_IDU ON A
FOR INSERT,DELETE,UPDATE
AS
BEGIN
DELETE B FROM B WHERE EXISTS(SELECT 1 FROM DELETED D WHERE D.A=B.A)
UPDATE B SET C=I.C,D=I.D,F=I.F FROM B,INSERTED I WHERE B.A=I.A
INSERT B SELECT A,C,D,F 
FROM INSERTED I WHERE NOT EXISTS(SELECT 1 FROM B WHERE I.A=B.A)
END

热点排行