首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL update inserted with trigger

SQL update inserted with trigger
EN

Stack Overflow用户
提问于 2015-06-16 23:09:17
回答 2查看 4.7K关注 0票数 0

我正在尝试使用表触发器来更新SQL中刚插入的行。下面是触发器。这似乎只会更新已插入的行,而不会更新刚插入的行。我做错了什么?

代码语言:javascript
复制
ALTER TRIGGER [dbo].[TRG_DIM_Employee]
ON [dbo].[DIM_Employee]
AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON
    UPDATE DIM_Employee
    SET ParentEmployeeKey = i.EmployeeKey
    FROM INSERTED i
    WHERE DIM_Employee.EmployeeId = i.EmployeeId
END
EN

回答 2

Stack Overflow用户

发布于 2015-06-17 01:30:46

据我所知,这是旧的连接语法,但在功能上是等效的。我设置了一个快速测试,但不能重现这个问题,似乎工作如预期。

仅供参考,您应该使用正确的连接语法,这个旧的ANSI-89标准在SQL 2012中已经以某些形式停止使用。

票数 1
EN

Stack Overflow用户

发布于 2015-06-16 23:20:28

您的update语句不太正确。您需要将表与插入的表行连接起来。

代码语言:javascript
复制
ClientID int,
ALTER TRIGGER [dbo].[TRG_DIM_Employee]
ON [dbo].[DIM_Employee]
AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON

    UPDATE emp
    SET emp.ParentEmployeeKey = i.EmployeeKey
    FROM  DIM_Employee emp
    JOIN INSERTED i on emp.EmployeeId = i.EmployeeId
END

更多执行update join here的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30871503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档