Sql server 从插入的第一个表中获取Id
我得到了这个示例,我需要在第一个表中插入(单击按钮后)一行,在RelationTable中插入两行。RelationTable中的两行需要为外键FirstTableId获取刚刚插入的行的FirstTableId值 只需在插入后使用: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
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 , ???);