我目前正在使用C#,我需要将一条新记录插入到一个表中,获得新的主键值,然后在插入多条记录时将其用作外键引用。数据库为MS SQL Server 2003。感谢所有的帮助!
发布于 2008-11-25 00:24:45
最好的方法是使用TSQL中的SCOPE_IDENTITY()函数。这应该作为插入的一部分来执行,即
SqlCommand cmd = new SqlCommand(@"
INSERT INTO T (Name) VALUES(@Name)
SELECT SCOPE_IDENTITY() As TheId", conn);
cmd.AddParameter("@Name", SqlDbType.VarChar, 50).Value = "Test";
int tId = (int)cmd.ExecuteScalar();或者,您可以将SCOPE_IDENTITY()赋值给要在后续语句中使用的变量。例如:
DECLARE @T1 int
INSERT INTO T (Name) VALUES('Test')
SELECT @T1 = SCOPE_IDENTITY()
INSERT INTO T2 (Name, TId) VALUES('Test', @T1)https://stackoverflow.com/questions/315963
复制相似问题