标签:
在StackOverflow上有一个帖子很好的解释了这三者之间的区别,本文将其大致意思翻译一下。读者也可以直接访问下面的链接查看原帖:http://stackoverflow.com/questions/1920558/what-is-the-difference-between-scope-identity-identity-identity-and-ide
也就是说,Scop_Identity(),@@Identity,Ident_Current(‘tableName‘)的取值范围逐个增大的。
上面提到的session实际上就是一个数据库链接,scope就是当前查询(query)或者当前存储过程(stored procedure).
当你表中有一个触发器(trigger)的时候,在插入一条数据的时候,该触发器同时去插入另外一张表的数据时,Scop_Identity()和@@Session返回的值是不一样的。Scope_Identity()返回的是当前插入语句所产生的identity值,而@@Identity返回的是触发器插入数据时产生的identity值。
所以,大多数情况下我们使用的是Scop_Identity()函数。
标签:
原文地址:http://www.cnblogs.com/kuillldan/p/5135246.html