Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从插入的第一个表中获取Id_Sql Server - Fatal编程技术网

Sql server 从插入的第一个表中获取Id

Sql server 从插入的第一个表中获取Id,sql-server,Sql Server,我得到了这个示例,我需要在第一个表中插入(单击按钮后)一行,在RelationTable中插入两行。RelationTable中的两行需要为外键FirstTableId获取刚刚插入的行的FirstTableId值 只需在插入后使用: DECLARE @Id INT INSERT INTO FirstTable(atribute) VALUES ('example'); SELECT @Id = SCOPE_IDENTITY() INSERT INTO Relation(RelationDet

我得到了这个示例,我需要在第一个表中插入(单击按钮后)一行,在RelationTable中插入两行。RelationTable中的两行需要为外键FirstTableId获取刚刚插入的行的FirstTableId值

只需在插入后使用:

DECLARE @Id INT

INSERT INTO FirstTable(atribute) VALUES ('example');
SELECT @Id = SCOPE_IDENTITY()
INSERT INTO Relation(RelationDetail, SecondTableId, FirstTableId) VALUES('something', some value , ???);
INSERT INTO Relation(RelationDetail, SecondTableId, FirstTableId) VALUES('something', some value , ???);

看看SCOPE_标识。或者,如果您在第一个表中一次插入超过1行,则可能是输出语句。是否需要在这部分中放置@Id而不是“??”。。。值('something',something value,@Id)?请解释一下为什么这个答案没有用?
DECLARE @Id INT

INSERT INTO FirstTable(atribute) VALUES ('example');
SELECT @Id = SCOPE_IDENTITY()
INSERT INTO Relation(RelationDetail, SecondTableId, FirstTableId) VALUES('something', some value , ???);
INSERT INTO Relation(RelationDetail, SecondTableId, FirstTableId) VALUES('something', some value , ???);