触发器内insert,delete,update判断执行不同的内容

create trigger tr_a
on a
for insert,update,delere as
begin

IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
BEGIN
-- 插入触发.
INSERT INTO B
SELECT
inserted.a
FROM
inserted;
END;

IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
BEGIN
-- 更新触发.
DELETE FROM B WHERE a in ( SELECT a FROM deleted);

INSERT INTO B
SELECT
inserted.a
FROM
inserted;
END;

IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
BEGIN
-- 删除触发
DELETE FROM B WHERE a in ( SELECT a FROM deleted);

END;

end
posted @ 2015-11-06 11:01  荒丘  阅读(305)  评论(0编辑  收藏  举报