首先,根据我的经验,很多人不熟悉输出。如果是这样,此链接非常方便:SQL Server 的隐藏功能
我有以下更新声明:
UPDATE lease_deal.lease_budget
SET change_type = NULL
OUTPUT inserted.*
WHERE ISNULL(change_type, '') = ''
虽然我认为这会为我返回更新的记录,但我收到以下错误:
消息 334,级别 16,状态 1,第 9 行 如果该语句包含没有 INTO 子句的 OUTPUT 子句,则 DML 语句的目标表“lease_deal.lease_budget”不能有任何启用的触发器。
我知道我可以成功地创建一个临时表并使用输出语句将更新的记录重定向到那里,但是为什么我不能将它返回到 IDE?我确定(确定)我以前能够做到这一点,但似乎无法在任何地方找到合适的例子来帮助我理解我做错了什么。当您正在更新的列上有触发器时,这根本不可能吗?