【发布时间】:2019-07-06 23:49:49
【问题描述】:
如果表 A 中有任何更新/插入,我正在尝试将记录插入表 B。触发器应仅将插入语句中的记录插入表 A 中的所有表记录,而不是将表 A 中的所有表记录插入表 B。您的帮助非常高赞赏。
代码工作正常,但它试图在表 A 中插入所有记录,而不是仅插入特定记录。
CREATE TRIGGER TestTrigger
ON dbo.Test
FOR INSERT,update
as
insert into dbo.TestBKP(ID, LastName, FirstName, Age, updatetime)
select ID, LastName, FirstName, Age, getdate()
from Test
print 'Row Inserted';
GO
insert into dbo.Test values(1,'AAA','BBB',24)
期待
dbo.TestBKP 表应该只包含上述插入值,而不是dbo.Test 值中的所有数据。
【问题讨论】:
-
将
from Test更改为from Inserted -
你应该使用
inserted伪表。 -
您正在使用
table A和table B,但它不包含在您的代码中。 -
感谢@DaleBurrell 的评论,它帮助我解决了我的问题。
-
感谢@HoneyBadger 的回复。
标签: sql-server tsql azure-sql-database database-trigger