首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从MS SQL Server获取自动编号主键

从MS SQL Server获取自动编号主键
EN

Stack Overflow用户
提问于 2008-11-25 00:19:32
回答 3查看 16.1K关注 0票数 4

我目前正在使用C#,我需要将一条新记录插入到一个表中,获得新的主键值,然后在插入多条记录时将其用作外键引用。数据库为MS SQL Server 2003。感谢所有的帮助!

EN

Stack Overflow用户

发布于 2008-11-25 00:24:45

最好的方法是使用TSQL中的SCOPE_IDENTITY()函数。这应该作为插入的一部分来执行,即

代码语言:javascript
运行
复制
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()赋值给要在后续语句中使用的变量。例如:

代码语言:javascript
运行
复制
DECLARE @T1 int

INSERT INTO T (Name) VALUES('Test')

SELECT @T1 = SCOPE_IDENTITY() 

INSERT INTO T2 (Name, TId) VALUES('Test', @T1)
票数 4
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/315963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档