小编Stu*_*ner的帖子

SQL Server 2012 OUTPUT 子句中的错误

给定以下针对 AdventureWorks 数据库的 SQL 代码:

begin transaction;

drop trigger Sales.iduSalesOrderDetail;
alter table Sales.SalesOrderDetail
    add LineNumber int null;
go

with sod as (
    select
        SalesOrderID, 
            /* other cols */
        LineNumber,
        NewLineNumber = row_number() over 
            (partition by SalesOrderID order by SalesOrderDetailID) + 1
    from Sales.SalesOrderDetail
    where SalesOrderID <= 44000)
update sod
set LineNumber = NewLineNumber,
    ModifiedDate = getdate()
output
    inserted.SalesOrderID, 
    /* other cols */
    inserted.LineNumber;

select
    SalesOrderID, 
    /* other cols */
    LineNumber
from Sales.SalesOrderDetail
where SalesOrderID <= 44000;

rollback transaction;
Run Code Online (Sandbox Code Playgroud)

在 SQL …

sql-server sql-server-2012

4
推荐指数
1
解决办法
763
查看次数

标签 统计

sql-server ×1

sql-server-2012 ×1