首页 > 解决方案 > 从 SELECT 语句填充的插入语句中添加 OUTPUT inserted.columnname

问题描述

我正在使用 SQL Server 2016 并想知道,有没有办法inserted.columnname从 SELECT 语句的插入语句中添加 OUTPUT。我需要ROW_NUMBER在#t temp 表中添加一个在我的代码下面的while 语句。任何帮助/方向将不胜感激。谢谢。

这是我的代码:

IF OBJECT_ID('tempdb..#t') IS NOT NULL DROP TABLE #t
CREATE TABLE #t (Id int, RN int)

INSERT INTO dbo.AUT_ReinsuranceAudit (
      UserSysID
    , ReinsuranceSysID
    , AuditType
    , DateRange
    , [ExpireDate]
    , [STATUS]
)
OUTPUT inserted.ReinsuranceAuditSysID, ROW_NUMBER() OVER(ORDER BY Reins) AS RN
INTO #t
SELECT aul.UserSysID, @ReinsuranceID, 'Claims', LEFT(@ReinsuranceName + ' Claims Audit', 25), @AuditEndDate, 1
FROM #tempAuditorUserIdList aul;

当我运行上面的代码时,我得到这个错误:

消息 207,级别 16,状态 1,第 77 行
无效的列名称“ReinsuranceAuditSysID”。
消息 4108,级别 15,状态 1,第 77 行
窗口函数只能出现在 SELECT 或 ORDER BY 子句中。

第 77 行是我的OUTPUT子句所在的行。

标签: sqlsql-servertsql

解决方案


推荐阅读