多行插入的“批量自增”ID

Cat*_*zza 0 sql sql-server auto-increment sql-insert

我正在 SQL Server 2017 中工作,我有一个以下形式的表:

表当前

COL1   COL2
-----------
 A      1
 B      3
 C     56
Run Code Online (Sandbox Code Playgroud)

我想定期将其插入表中tbl_release

该表将有一个额外的 ID 列,我希望随着每次“批量插入”自动递增。tbl_current例如,假设我执行into的摄取tbl_release,它看起来像这样:

tbl_release

ID   COL1   COL2
----------------
 1    A       1
 1    B       3
 1    C      56 
Run Code Online (Sandbox Code Playgroud)

现在,假设我使用相同的数据执行另一次摄取,它看起来像:

tbl_release

ID   COL1   COL2
----------------
 1    A       1
 1    B       3
 1    C      56 
 2    A       1
 2    B       3
 2    C      56  
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?是否有一些 SQL Server 功能可以实现此目的,或者我是否需要运行一些子查询?

Ben*_*hul 5

我个人会为此使用一个序列。假设插入临时表已完成,它看起来像这样:

declare @ID int = next value for sequence dbo.mySequence;

insert into tbl_release
   (ID, col1, col2)
select @ID, col1, col2
from tbl_current;
Run Code Online (Sandbox Code Playgroud)