【发布时间】:2009-12-03 17:08:09
【问题描述】:
我需要根据 tableB 中的插入来更新我的 tableA。我创建了一个触发器,它在将一行插入 tableB 时触发,并简单地将其复制到 tableA(这正是我想要的)。但是当我更新tableB中的现有记录时,问题就出现了,tableA中的行已经存在具有相同的主键。
为了处理它,我尝试删除 tableA 中主键与更新行匹配的现有行,然后简单地从“插入”表中插入该行。但是,tsql 根本不允许我从触发器中删除我,并给出错误说明“无法绑定多部分标识符“INSERTED.Id”。”
这是我试图在代码方面完成的工作:
delete from dbo.CurrentItems where dbo.CurrentItems.CurrentItemId = INSERTED.Id
INSERT INTO CurrentItems
SELECT * FROM INSERTED
WHERE IsActive = 1
各位有什么想法吗?
【问题讨论】:
标签: sql-server tsql