sql 中获取最后生成的标识值 IDENT_CURRENT ,@@IDENTITY ,SCOPE_IDENTITY 的用法和区别
来源:互联网 发布:java中字符串的拼接 编辑:程序博客网 时间:2024/04/30 06:44
转载自:http://blog.csdn.net/jinho/article/details/5267507
IDENT_CURRENT
返回为任何会话和任何作用域中的指定表最后生成的标识值。
语法
IDENT_CURRENT('table_name')
参数
table_name
是将要返回其标识值的表的名称。table_name 的数据类型为 varchar,没有默认值。
返回类型
sql_variant
注释
IDENT_CURRENT 类似于 Microsoft® SQL Server™ 2000 标识函数 SCOPE_IDENTITY 和 @@IDENTITY。这三个函数都返回最后生成的标识值。但是,它们在定义"最后"的作用域和会话上不同。
- IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。
- @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
- SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
示例
下面的示例说明由 IDENT_CURRENT、@@IDENTITY 和 SCOPE_IDENTITY 返回的不同的标识值。
USE pubsDROP TABLE t6DROP TABLE t7GOCREATE TABLE t6(id int IDENTITY)CREATE TABLE t7(id int IDENTITY(100,1))GOCREATE TRIGGER t6ins ON t6 FOR INSERT ASBEGIN INSERT t7 DEFAULT VALUESENDGO--end of trigger definitionSELECT * FROM t6--id is empty.SELECT * FROM t7--id is empty.--Do the following in Session 1INSERT t6 DEFAULT VALUESSELECT @@IDENTITY /*Returns the value 100, which was inserted by the trigger.*/SELECT SCOPE_IDENTITY() /* Returns the value 1, which was inserted by the INSERT stmt 2 statements before this query.*/SELECT IDENT_CURRENT('t7')/* Returns value inserted into t7, i.e. in the trigger.*/SELECT IDENT_CURRENT('t6')/* Returns value inserted into t6, which was the INSERT statement 4 stmts before this query.*/-- Do the following in Session 2SELECT @@IDENTITY/* Returns NULL since there has been no INSERT action so far in this session.*/SELECT SCOPE_IDENTITY()/* Returns NULL since there has been no INSERT action so far in this scope in this session.*/SELECT IDENT_CURRENT('t7')/* Returns the last value inserted into t7.*/
具体:sql帮助文档
- sql 中获取最后生成的标识值 IDENT_CURRENT ,@@IDENTITY ,SCOPE_IDENTITY 的用法和区别
- SQL获取最后插入的ID值SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较
- SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY
- SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY
- 返回插入到同一作用域中的标识列内的最后一个标识值,SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 函数
- IDENT_CURRENT、@@IDENTITY 和 SCOPE_IDENTITY 的区别
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别比较
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 的区别
- SQLServer获取最后插入的ID值SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较
- @@IDENTITY、IDENT_CURRENT、SCOPE_IDENTITY的区别
- 获取sql server中自增量之scope_identity(),@@Identity,IDENT_CURRENT的区别
- 关于如何使用SqlServer中@@Identity、@@IDENT_CURRENT、@@SCOPE_Identity获取自动生成列的值的区别(精简版)
- SQL 获取最大的预定义的ID [IDENT_CURRENT,@@IDENTITY,SCOPE_IDENTITY用法]
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别(比较)
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别(比较)
- ◎◎identity ,ident_current() ,scope_identity的区别
- SQL SERVER 插入数据获取自增ID,SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较
- myEclipse6.0破解办法(不受年限,其他版本未测)
- oracle pctfree和pctused
- java中引发GC的几种场景
- (2)Linear Regression with Multiple Variables
- 2013-04-26
- sql 中获取最后生成的标识值 IDENT_CURRENT ,@@IDENTITY ,SCOPE_IDENTITY 的用法和区别
- Django中form类排版
- nginx和uwsgi安装配置
- 我给一个朋友算的跳槽账-时间的机会成本
- Flex 小结
- 汇编寻址方式总结
- SQl基础命令语句记录
- phpMyAdmin 配置
- make makefile