在两个表中插入记录,并在ID中具有依赖性

时间:2015-10-13 08:08:45

标签: sql sql-server database

你们可以提供一个示例查询,用于在两个表中插入记录。这是我的情景...

   insert into table1 (name) values ('jay') -- ID is auto increment
   insert into table2 (id,name2) values (1,'jay2') -- value 1 is the ID from first query

谢谢..

2 个答案:

答案 0 :(得分:2)

一种选择是使用OUTPUT子句:

DECLARE @ids TABLE(id INT)

INSERT INTO table1(name)
OUTPUT inserted.ID INTO @ids
VALUES('jay')

INSERT INTO table2(id, name2)
    SELECT id, 'jay2'
    FROM @ids

另一种方法是使用SCOPE_IDENTITY()

INSERT INTO table1(name) VALUES('jay')

INSERT INTO table2(id, name2)
    SELECT SCOPE_IDENTITY(), 'jay2'

答案 1 :(得分:0)

您可以在SQL中使用IDENT_CURRENT('TableName')SCOPE_IDENTITY()