【发布时间】:2013-05-29 17:23:52
【问题描述】:
我有一个表人,它有 2 个触发器(如果插入数据,触发器进行更新)所有触发器都是 插入后 稍后我将有关事件的信息插入到其他表中,我得到(更新, Update, Insert) 但应该是这个 (Insert, Update, Update) 你知道为什么吗?
我对这个例子有疑问:
DECLARE @HistoryType CHAR(1) --"I"=insert, "U"=update, "D"=delete
SET @HistoryType=NULL
IF EXISTS (SELECT *
FROM inserted)
BEGIN
IF EXISTS (SELECT *
FROM deleted)
BEGIN
--UPDATE
SET @HistoryType='U'
END
ELSE
BEGIN
--INSERT
SET @HistoryType='I'
END
END
ELSE IF EXISTS(SELECT *
FROM deleted)
BEGIN
--DELETE
SET @HistoryType='D'
END
IF @HistoryType='U' or @HistoryType='I'
//do something
END
这篇文章的例子:
How to copy an inserted,updated,deleted row in a SQL Server trigger(s)
【问题讨论】:
-
那么,你有两个 AFTER INSERT 触发器?
-
@gbn 你知道哪里有问题吗?