zoukankan      html  css  js  c++  java
  • @@IDENTITY 和 SCOPE_IDENTITY()

    在ms sql server中一张表有自增长字段,最近插入表中记录的自增长字段可以通过@@IDENTITY或者SCOPE_IDENTITY()取得。

    通常情况下@@IDENTITY 和 SCOPE_IDENTITY()可以起到同样的效果,但是也不尽然,他们两者之间还是有区别的。微软的文档上这样描述:
    @@IDENTITY and SCOPE_IDENTITY return the last identity value generated in any table in the current session. However, SCOPE_IDENTITY returns the value only within the current scope; @@IDENTITY is not limited to a specific scope.
    也就是说通常情况用SCOPE_IDENTITY()总是可以得到当前范围内最近插入行生成的标示值,而@@IDENTITY则不限于当前范围内。

    文档中的范围不太好理解,可以参考这里的例子更好的理解。

    我之前一直使用SELECT @@IDENTITY来取得最近插入记录的标示值,这在没有使用触发器的情况下是没有问题的,但是保险起见还是使用SCOPE_IDENTITY()更好一些。

  • 相关阅读:
    vue 组件之间相互传值 父传子 子传父
    krpano 常用标签
    krpano生成全景图
    github的基本使用
    transform:rotate3d/tranlate3d
    css3水波纹效果
    原型的迷惑
    JS变量作用域
    LeetCode Rotate List
    LeetCode Divide Two Integers
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/identity_vs_scope_identity.html
Copyright © 2011-2022 走看看