选择行whith插入查询 - sql server

时间:2016-06-08 10:56:22

标签: sql-server

我有两张桌子(table1,table2)

table1 - table1_seq PK identity(1,1),
         table1_descpt

table2 - table2_seq PK identity(1,1),
         table1_seq foreign key of table1,
         table2_descpt 

table1_seq

时,我希望insert into table1(table1_desc) values ('Description');同一时间

select table1_seq from (insert into table1(table1_desc) values ('Description'));

所以我可以将table1_seq插入table2

2 个答案:

答案 0 :(得分:0)

使用

SELECT @@IDENTITY 

通过INSERT,SELECT INTO或批量复制语句检索当前会话中生成的last identity value

答案 1 :(得分:0)

INSERT INTO table1(table1_desc) OUTPUT inserted.table1_seq 
VALUES ('Description')

Implementing the OUTPUT Clause in SQL Server 2008

SELECT @@ IDENTITY

  

它返回连接上生成的最后一个IDENTITY值,无论生成该值的表是什么,也不管生成该值的语句的范围如何。

SELECT SCOPE_IDENTITY()

  

它返回连接上生成的最后一个IDENTITY值   在同一范围内的语句,无论生成的表是什么   值。

选择IDENT_CURRENT('tablename')

  

它返回表中生成的最后一个IDENTITY值,而不管它是什么   创建值的连接,无论范围如何   产生价值的陈述。

SQL SERVER – @@IDENTITY vs SCOPE_IDENTITY() vs IDENT_CURRENT – Retrieve Last Inserted Identity of Record