存储过程(将数据插入一个表,然后将生成的id插入另一个表)SQL Server

存储过程(将数据插入一个表,然后将生成的id插入另一个表)SQL Server,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我想在表1中插入数据,然后我想在表2中插入生成的idAddress,我该怎么做 表1 地址, 街道, cp 表2 PK idUser, FK地址 提前感谢。试试这个: INSERT INTO table1(STREET, CP) VALUES('THIS', 'THAT') INSERT INTO table2(FK-IDADDRESS) VALUES(@@IDENTITY) -- OR SCOPE_IDENTITY 好吧,因为我不确定您的表结构和完整的代码,这只是一个假设(我的代码,我的意思

我想在表1中插入数据,然后我想在表2中插入生成的idAddress,我该怎么做

表1 地址, 街道, cp

表2 PK idUser, FK地址

提前感谢。

试试这个:

INSERT INTO table1(STREET, CP) VALUES('THIS', 'THAT')
INSERT INTO table2(FK-IDADDRESS) VALUES(@@IDENTITY) -- OR SCOPE_IDENTITY
好吧,因为我不确定您的表结构和完整的代码,这只是一个假设(我的代码,我的意思)——基本上,它调用
@@IDENTITY
SCOPE\u IDENTITY
——阅读下面的链接,了解您可能真正需要什么

您还可以使用另一种方法:

你也可以读到:


*归功于@JakeFeasel提出的
IDENT\u CURRENT

我更喜欢IDENT\u CURRENT('table1')-有时,插入触发器在后台运行,可能正在执行其他插入操作,因此可能会抛出@identity。是的,当我意识到我不确定完整的SQL代码时,我修改了我的答案,并提供了有关
SCOPE\u IDENTITY
@@IDENTITY
的信息,但让我再修改一次,以包含您的注释的根。。谢谢