【发布时间】:2014-09-11 16:54:10
【问题描述】:
当他们更新表 1 中 column1 中的单元格时,我必须更新表 2 中 column2 中的一个单元格以获取特定用户 ID(行)。但我不断得到结果,表 2 中的整个列都已更新。谁能告诉我这是否以及如何完成?
(Table1和Table2有一个共同的列(userid))
这是我的尝试:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER UPDATE_TABLE2
ON dbo.TABLE1
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE dbo.TABLE2
SET dbo.TABLE2.COLUMN2 = GETDATE()
FROM dbo.TABLE2 T2
join
dbo.TABLE1 T1
on T2.userid=T1.userid
where T2.userid=T1.userid
END
GO
【问题讨论】:
-
需要注意的关键点是,每插入一行,触发器就不会触发一次。您可以通过触发器上下文中的
inserted表访问插入的行。
标签: sql sql-server-2008 triggers