SQL 返回新增行的自增ID值方法
SQL 返回新增行的自增ID值方法:
1、使用output 语句
1 | insert into Table1 (CreatedDate) output inserted.id values (getdate()) |
output 从数据修改语句中返回输出,可以看作是“返回结果的DML”
SQL2005之后 Insert,Delete,Update语句 均支持Output语句。
在Output语句中可以引用inserted和deleted。使用方法同触发器类似。
该方法最大弊端就是需要指定主键。output Inserted.要返回的值。
2、使用@@identity
1 | select @@identity |
@@identity返回当前会话最后生产的标识列ID
用select @@identity得到上一次插入记录时自动产生的ID
存储过程,代码示例:SET @NewID=@@IDENTITY
区分,SCOPE_IDENTITY() 和 @@IDENTITY
SCOPE_IDENTITY() 返回插入到当前作用域中的值,它是仅限在一个操作范围之内,
@@IDENTITY 不受限于特定的作用域。它总是获取最后一条变更数据的自增字段的值,
1 | insert temp (temp1) values ( 'hh' ) select SCOPE_IDENTITY() as dd |
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报