SCOPE_IDENTITY的用法

Posted aibox222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SCOPE_IDENTITY的用法相关的知识,希望对你有一定的参考价值。

SCOPE_IDENTITY   和   @@IDENTITY   的作用都是取得返回在当前会话中的任何表内所生成的最后一个标识值,简单的说就是在执行一条插入语句之后使用@@IDENTITY的全局变量,取得插入记录的ID号但是有个问题就是,@@IDENTITY是全局的,所以在他的功能会体现在所有作用域,一个操作,一个触发器,一个存储过程叫做一个作用域,这时候如果出现多个作用域的情况的时候,@@IDENTITY所取得的ID号就是最后一个作用域产生的结果。这时候我们要使用SCOPE_IDENTITY方法来作了。SCOPE_IDENTITY   只返回插入到当前作用域中的值;@@IDENTITY   不受限于特定的作用域。  
 

使用方法:

select   SCOPE_IDENTITY()   as   ID   from   [table]

select @@IDENTITY as ID from [table]

 


  实例:  
 

 sql="SET   NOCOUNT   ON;

insert into [Table](Item) values("&Item&")"sql=sql&";

select @@IDENTITY as ID from [Table];SET NOCOUNT OFF;"


在插入某些自增表的时候,需要将其打开:
 语法:SET   IDENTITY_INSERT   TableName   ON









以上是关于SCOPE_IDENTITY的用法的主要内容,如果未能解决你的问题,请参考以下文章

select SCOPE_IDENTITY()用法

SCOPE_IDENTITY的用法

php 使用 Scope_identity 返回 id

检索 scope_identity 时指定的强制转换无效

使用 scope_identity 多插入如何?

而不是 SQL Server 中的触发器丢失 SCOPE_IDENTITY?