
在MSSQL2000中提供了两个函数(ident_current,scope_identity)
当你插入记录后,可以调用函数:
调用方式举列:print ident_current('table') ,这样就可以得到 新的identity值。
或者:print scope_identity() '这将获得在当前存储过程,触发器等其他程序创建的最新记录的identity值 这个的好处就是改进了@@identity的不足全局变量@@identity有一个问题,当对一张表执行insert时,如果该表有触发器程序在执行插入 *** 作,然后,接着在另一张表中插入记录,这样返回@@identity值就是第二张表的identity值。
备注:以上用法在MSSQL2000或以上版本均可用,如果是比较底的版本需要自己另写存储过程来处理。这里就不写了,因为我认为现在用2000以下的版本的人太少了。至于我恐怕没有机会用了,呵呵!
测试:
1新建一个表 TBLINDEDITY
CREATE TABLE [TBLINDEDITY] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
2插入3条数据
insert into TBLINDEDITY values('dong')
insert into TBLINDEDITY values('chao')
insert into TBLINDEDITY values('hui')
3用这个函数测试一下
print ident_current('TBLINDEDITY')
4结果:
3
结论:测试成功!这个问题已经尘埃落地
以上就是关于如何取得刚刚插入MSSQL自增长的id值全部的内容,包括:如何取得刚刚插入MSSQL自增长的id值、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)