gpt4 book ai didi

sql - 在更新语句上使用输出子句时出现奇怪的错误?

转载 作者:行者123 更新时间:2023-12-04 00:43:26 25 4
gpt4 key购买 nike

首先,根据我的经验,很多人不熟悉输出。如果是这样,此链接非常方便:Hidden Features of SQL Server

我有以下更新声明:

UPDATE  lease_deal.lease_budget
SET change_type = NULL
OUTPUT inserted.*
WHERE ISNULL(change_type, '') = ''

虽然我认为这会为我返回更新的记录,但我收到了以下错误:

Msg 334, Level 16, State 1, Line 9 The target table 'lease_deal.lease_budget' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.

我知道我可以成功创建一个临时表并使用输出语句将更新的记录重定向到那里,但为什么我不能将它返回到 IDE?我确定(确定)我以前能够做到这一点,但似乎无法在任何地方找到合适的例子来帮助我理解我做错了什么。当您在要更新的列上有触发器时,这是不可能的吗?

最佳答案

这个

http://msdn.microsoft.com/en-au/library/ms177564.aspx

这样说

如果指定了 OUTPUT 子句但未同时指定 INTO 关键字,则 DML 操作的目标不能为给定的 DML 操作定义任何已启用的触发器。例如,如果在 UPDATE 语句中定义了 OUTPUT 子句,则目标表不能有任何已启用的 UPDATE 触发器。

关于sql - 在更新语句上使用输出子句时出现奇怪的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15938691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com