用什么系统存储过程可以得到某个表的标识列的值?解决方案
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
用什么系统存储过程可以得到某个表的标识列的值?
如题
------解决方案--------------------
@@IDENTITY
返回最后插入的标识值。
语法
@@IDENTITY
返回类型
numeric
注释
在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。
在返回插入到表的 @@IDENTITY 列的最后一个值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函数类似。
@@IDENTITY 和 SCOPE_IDENTITY 将返回在当前会话的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回任何会话和任何作用域中为特定表生成的标识值。有关更多信息,请参见 IDENT_CURRENT。
示例
下面的示例向带有标识列的表中插入一行,并用 @@IDENTITY 显示在新行中使用的标识值。
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ( 'Accountant ',12,125)
SELECT @@IDENTITY AS 'Identity '
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
从 Excel 导入到 SQL 的大数据效率问题
导入数据量:10W。
环境:Sql server 2008 R2
导入用时 29分钟。
每条执行语句:
IF EXIS...
-
链接服务器 删除时,提示 提供程序内存不足
链接服务器连一个oracle 数据库
表 tb 其中一个列是 blob
现在删除 tb 的一行...
-
一个简单的存储过程报错,求大神指教
--Drop PROCEDURE [dbo].[FenYe]
CREATE PROCEDURE [dbo].[FenYe]
@curPage int, --当...
-
如何在调试时清除临时表
用临时表时碰到错误
Msg 2714, Level 16, State 6, Line 3
There is already an object named '#TblPr...
-
还原数据库时,出现怪事了....
我用的SQL的版本是 Microsoft Corporation 版本8.0
企业管理器---找到相应的数据库名---右键---...
-
动态列!急!
下面的存储是我举例子的,并不正确!我想实现当我输入参数,2012,1,2012,12 的时候,Ytd就
得到那参数区间的和,问题就在,如...
-
为庆祝PASS北京分会成立,12月份在微软中国举办第一次线下活动。欢迎报名!
The Professional Association for SQL Server (简称PASS...
-
关于数据分页问题。
朋友说,微软自带的ListView数据分页不能使用,效率太低,查询要把整个数据库查一遍,说是要Row_Number。
那么Row_N...
-
sql查询优化
表 table 有24个字段,3万条数据,现在我查询该表的所有数据
select * from table order by id
查询时间在1分20秒左右...
-
sql 多张表的列合并成一条数据
比如
A表 有下列
name stock(库存)
苹果 10
香蕉 20
B表
name import(入库)
苹果...