赞
踩
@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 是相似的函数,因为他们都返回插入到表的 IDENTITY 列的最后一个值。
@@IDENTITY 和 SCOPE_IDENTITY 可以返回当前会话中的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域, IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表
SELECT @@IDENTITY 返回一个连接产生的最新的Identtiy值,与产生这个值的表,产生这个值的语句都没有关系,
@@IDEntity 限于当前会话,但不限于当前代码段,如果在表上有触发器,导致在其他表上建立Identtiy, 你会得到最后建立的identity, 即使它是由触发器或者函数建立的。
SELECT SCOPE_IDENTITY() 这条语句返回在一段代码中的语句通过一个连接建立的最后一个identity值,与创建这个identity的表无关。即返回显式创建的最新的identity。
SELECT IDENT_CURRENT(‘tablename’) 返回在指定表上建立的最新的identity, 与连接无关,与脚本段无关,与会话无关,只限于指定的表, Ident_Current('tableName')
为避免因trigger引起的潜在的问题,要在存储过程中或T SQL语句中使用SCOPE_IDENTITY()返回最新增加的IDentity
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。