从另一个运行号码的表中插入sql中的查询

时间:2016-08-19 08:29:19

标签: sql-server stored-procedures sql-server-2012

从另一个表中插入表中的行

我需要id列应该像下面那样运行数字

我设置的id列是唯一键,因此下面的代码显示错误

insert into Tbl1 (Id, DislayName,IsEnabled)
select 16000,Names,0 from Tbl2

插入应该像

16000 | John  | false
16001 | Deo   | false
16002 | Jake  | false

注意:不应使用自动增量,因为已将其分配给另一列

1 个答案:

答案 0 :(得分:2)

添加row_number()窗口函数(减1)

insert into Tbl1 (Id, DislayName,IsEnabled)
select 16000 -1 + row_number () over (order by Names),
       Names,0 
  from Tbl2;