@@IDENTITY和SCOPE_IDENTITY和IDENT_CURRENT的区别

1,@@IDENTITY是得到当前会话的所有范围的最后插入的IDENTITY值

2,SCOPE_IDENTITY是得到当前会话的当前范围的最后插入的IDENTITY值

3,IDENT_CURRENT是得到指定表的最后插入的IDENTITY值,与会话、范围无关。

因为在插入和得到IDENTITY值之间可能会有其它的事情发生,但是你只想得到我刚才插入的IDENTITTY值,只有使用SCOPE_IDENTITY函数才行。

以下是测试SQL

(1)

USE pubs

DROP TABLE t6

DROP TABLE t7

GO

CREATE TABLE t6(id int IDENTITY)

CREATE TABLE t7(id int IDENTITY(100,1))

GO

CREATE TRIGGER t6ins ON t6 FOR INSERT

AS

BEGIN

INSERT t7 DEFAULT VALUES

END

GO

--end of trigger definition

SELECT   * FROM t6

--id is empty.

SELECT   * FROM t7

--id is empty.

--Do the following in Session 1

INSERT t6 DEFAULT VALUES

declare @i int

set @i = 0

while @i < 20000

begin

set @i = @i + 1

print @i

end

SELECT @@IDENTITY as "@@IDENTITY0"

/*Returns the value 100, which was inserted by the trigger.*/

SELECT SCOPE_IDENTITY()   'SCOPE_IDENTITY()0'

/* Returns the value 1, which was inserted by the

INSERT stmt 2 statements before this query.*/

SELECT IDENT_CURRENT('t7') 'IDENT_CURRENT(t7)0'

/* Returns value inserted into t7, i.e. in the trigger.*/

SELECT IDENT_CURRENT('t6') 'IDENT_CURRENT(t6)0'

/* Returns value inserted into t6, which was the INSERT statement 4 stmts before this query.*/

-- Do the following in Session 2

SELECT @@IDENTITY "@@IDENTITY1"

/* Returns NULL since there has been no INSERT action

so far in this session.*/

SELECT SCOPE_IDENTITY() 'SCOPE_IDENTITY()1'

/* Returns NULL since there has been no INSERT action

so far in this scope in this session.*/

SELECT IDENT_CURRENT('t7') 'IDENT_CURRENT(t7)1'

/* Returns the last value inserted into t7.*/

当在执行while @i < 20000

begin

set @i = @i + 1

print @i

end这个地方的时候,就可以用

INSERT t6 DEFAULT VALUES

INSERT t7 DEFAULT VALUES

select * from t6

select * from t7来进行操作数据库

等到全部执行完了,你就会发现只有SCOPE_IDENTITY列永远是1

mysql ident current_sql server 2000 @@IDENTITY和SCOPE_IDENTITY和IDENT_CURRENT的区别相关推荐

  1. Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别

    预备知识:SQLServer的IDENTITY关键字 IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:ide ...

  2. @@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT

    内容引用自: @@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析 http://www.cnblogs.com/xlong1900/archive/2008/09/0 ...

  3. MSSql Server 中@@IDENTITY与SCOPE_IDENTITY()

    @@IDENTITY 和 SCOPE_IDENTITY 可以返回当前会话中的所有表中生成的最后一个标识值.但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特 ...

  4. @@identity、scope_identity()、IDENT_CURRENT('tablename')函数的区别

    @@IDENTITY 和SCOPE_IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值.但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值:@@IDENTITY 不受限于 ...

  5. 关于@@IDENTITY、SCOPE_IDENTITY ()、IDENT_CURRENT ('tableName')

    三者均可以返回当前会话中的所有表中生成的最后一个标识值. 只是如果对表进行了复制操作,则会影响@@IDENTITY的值,此时@@IDENTITY不能做为可靠的指示器. 转载于:https://www. ...

  6. SQL Server 重置Identity标识列的值(INT爆了)

    一.背景 SQL Server数据库中表A中Id字段的定义是:[Id] [int] IDENTITY(1,1),随着数据的不断增长,Id值已经接近2147483647(int的取值范围为:-2 147 ...

  7. SQL Server 中@@IDENTITY的用法

    原文地址:http://www.studyofnet.com/news/145.html 本文导读:@@IDENTITY是返回上次插入的标识值,标识值一般指的是自动增长值.但是如果想只返回插入到当前作 ...

  8. @@IDENTITY与SCOPE_IDENTITY()

    @@IDENTITY与SCOPE_IDENTITY() 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值.如果语句未影响任何包 ...

  9. oracle select @@identity,SQL区别@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT

    预备知识:SQLServer的IDENTITY关键字 IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:ide ...

最新文章

  1. 关于计算机的英语作文300,关于大学英语作文300字7篇
  2. Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器
  3. Redis:04---键的基本命令(上)
  4. python图像下采样_[Python图像处理]十二.图像向下取样和向上取样
  5. 盐城工学院计算机基础试卷,大学计算机基础及实用软件/大学计算机基础
  6. 小学生都学Python了,你还不知道怎么开始
  7. oracle数据表空间与数据文件,oracle 操作表空间和数据文件
  8. CSS3中3D综合应用及分析
  9. webpack手动构建vue和vue-cli构建使用 px2rem-loader ,全局自动转换px单位,让自适应来的更简单点!...
  10. 怎么知道他人的 IP
  11. ember使用第三方类库_如何使用Ember Media Manager整理您的媒体收藏
  12. java中的if语句_java中的条件判断语句
  13. 【css】鼠标禁用样式
  14. rocketdock_如何为USB闪存驱动器创建RocketDock便携式版本
  15. 【报告分享】2021巨量引擎金融行业生态及用户洞察报告-巨量算数(附下载)
  16. 引爆5G市场,场景为王?
  17. 某宝 小黑屋 x-sg?xt x-si?n x-m?ni-w?a 分析学习
  18. pcs增加mysql资源_pcs命令配置示例(详细版)
  19. 7月14日第壹简报,星期四,农历六月十六
  20. 【深度学习】Hinton 最新研究:神经网络的未来是前向-前向算法

热门文章

  1. linux系统优化设置及软件集合
  2. 燃气灶火小怎么回事?6步帮你判断问题在哪!
  3. 实训四:使用Telnet方式管理交换机
  4. javaScript动画项目案例
  5. EVC+SDK+SQL CE1
  6. 接口管理与测试平台-小幺鸡
  7. U-Boot(TFTP下载,NFS挂载调试)
  8. 周迅 女明星卸妆后判若两人 (图)
  9. 用户满意度和用户需求:Kano模型
  10. BigTable读后感