小编VD *_*Max的帖子

一次合并多条记录

有一段代码来自之前的开发人员,它使用变量执行合并语句,并一次处理一条记录。

我确信合并可以同时处理多个记录。

create table dbo.Staging
(
    transactionID bigint not null primary key nonclustered,
    transactionDate date not null,
    productId int not null,
    orderId int not null,
    qty int not null,
    unitPrice decimal(8,2) not null
)

create table dbo.Transactions
(
    transactionID bigint not null primary key clustered,
    transactionDate date not null,
    productID int not null,
    ReferenceOrderID  int not null,
    Qty int not null,
    ActualCost decimal(8,2) not null
)
insert into dbo.Staging(transactionID,transactionDate,productId,orderId,qty,unitPrice)
values(1001,'20210101',45889,1501,5,105),
      (1002,'20210102',45892,1503,2,8),
      (1003,'20210103',45555,1555,5,5),
      (1004,'20210104',44444,1444,4,4)

insert into dbo.Transactions(transactionID,transactionDate,productId,ReferenceOrderID,qty,ActualCost)
values
      (1003,'20210101',41111,1111,1,1),
      (1004,'20210101',41111,1111,1,1)
Run Code Online (Sandbox Code Playgroud)

代码要长得多,但这里是代码: …

sql-server t-sql sql-server-2016

5
推荐指数
1
解决办法
102
查看次数

标签 统计

sql-server ×1

sql-server-2016 ×1

t-sql ×1