社区
C#
帖子详情
如何返回最后插入到sql中的自动增长标识值
SmilingKevin
2010-11-07 01:43:37
我在c#程序中向数据库中插入了一条数据,该表的主键是自动增长的,现在要如何去获取刚刚插入的这条数据的主键值呢?
...全文
186
8
打赏
收藏
如何返回最后插入到sql中的自动增长标识值
我在c#程序中向数据库中插入了一条数据,该表的主键是自动增长的,现在要如何去获取刚刚插入的这条数据的主键值呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
清山博客
2010-11-07
打赏
举报
回复
Scope_identity
实例:
http://www.cnblogs.com/yank/archive/2008/04/16/1156713.html
select SCOPE_IDENTITY()
返回上面操作的数据表最后row的IDENTITY 列的值;
返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。一个作用域就是一个模块——存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。
SELECT @@IDENTITY
返回上面操作最后一个数据表的最后row的IDENTITY 列的值;
创建表:
create table T_User(F_ID int identity(1,1) not null,F_Name varchar(20) not null)
插入数据:
insert into T_User(F_Name) values('我是谁') Select SCOPE_IDENTITY()
存储过程:
CREATE PROCEDURE [dbo].[sp_User](@F_Name int) AS
begin tran Insertinto_T_User
Insert into dbo.T_User(F_Name) values(@F_Name)
Select SCOPE_IDENTITY()
xrongzhen
2010-11-07
打赏
举报
回复
用事务 begin transaction insert... select max(id) from tb commit transaction
以专业开发人员为伍
2010-11-07
打赏
举报
回复
不管你得到什么结果,给你一个建议,认真测试一下当插入一条记录的操作会带来附加的触发器、存储过程代码被执行,其中有其它语句插入数据,那么那种结果还正确吗?
buer
2010-11-07
打赏
举报
回复
Sql块操作
string sql="insert table(f1,f2) values(v1,va2) "
sql+=" select @@identity ";
SmilingKevin
2010-11-07
打赏
举报
回复
[Quote=引用 2 楼 kankanwenzi 的回复:]
呵呵,我刚刚转了个贴,欢迎去看http://blog.csdn.net/kankanwenzi/archive/2010/11/07/5993215.aspx
[/Quote]
SQL SERVER要怎么做呢
bbb332
2010-11-07
打赏
举报
回复
用select语句查出来不可以吗?
kankanwenzi
2010-11-07
打赏
举报
回复
呵呵,我刚刚转了个贴,欢迎去看http://blog.csdn.net/kankanwenzi/archive/2010/11/07/5993215.aspx
phil999
2010-11-07
打赏
举报
回复
如果是 sql server,那么在同一个事务中执行 select @@identity
这样的低层的操作代码不好看,如果你用 entity framework 或者 nhibernate,那么保存之后,对象的状态自动被更新,你可以通过对象属性得到这个值
SQL
Server
插入
记录后获取
自动
增长
列的
值
本文介绍了如何在
SQL
Server
中
插入
记录后获取
自动
增长
列(主键)的
值
。推荐使用SCOPE_IDENTITY函数,因为它
返回
当前执行范围内的
最后
一个
标识
值
,避免了触发器等情况下产生的不准确问题。
@@identity与scope_identity()函数的区别
本文解析了
SQL
中
@@IDENTITY与SCOPE_IDENTITY的功能差异。@@IDENTITY
返回
当前会话
中
最后
生成的
标识
值
,而SCOPE_IDENTITY仅
返回
当前作用域内
最后
一次
插入
操作产生的
标识
值
。了解这些差异有助于更好地管理数据库
中
的
自动
增长
字段。
SQL
标识
符
自动
增长
添加及重置的语句(自学笔记记录)
本文介绍了
SQL
Server
中
标识
列(
自动
增长
列)的定义、特点、创建、修改以及如何重置
标识
符。内容包括
标识
列的类型、种子、递增量,以及使用IDENTITY属性创建和管理
标识
列,还包括查询
标识
列信息、强制设置
标识
值
和重置
标识
符的方法。
my
sql
中
的
标识
列以及
标识
列/
自动
增长
列怎么insert
插入
数据(
标识
列/
自动
增长
列的
插入
方式)
本文围绕My
SQL
的
标识
列(自
增长
列)展开,介绍其含义为系统提供默认序列
值
,无需手动
插入
。阐述了
标识
列的特点,如不一定要和主键搭配但须是key、一个表至多一个、类型为数
值
型等。还说明了创建表、修改表时设置和删除
标识
列的方法,以及设置步长等操作。
如何获取
SQL
Sever
中
自
增长
列的下一行
标识
值
?(获取刚
插入
的
标识
值
)
本文介绍如何使用
SQL
语句获取表
中
自
增长
列(
标识
列)的当前
值
及下一个
值
,包括刚
插入
记录的
标识
值
和下一行
标识
值
。
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章