zoukankan      html  css  js  c++  java
  • 使用 scope_identity() 函数获得表的标识值

    做开发的时候,我们经常要在执行一条语句后 获得数据库的自增ID值,最典型的例子就是在生成订单后,要返回订单ID,之前有一种不严谨的做法是,用select top 1 ID order by ID desc,值所以不严谨有一种说法是,在高并发用户的情况下,很可能在插入和查询之间又一次进行了插入操作,这样查询的结果就和实际ID不是对应的了。

    其实这个需求最终的准确解决方法是使用

    scope_identity()
    

      

    返回相同范围内最后插入表的标识值,这个范围可以是存储过程,触发器或者是批处理

    上面的解释同样适用于为什么不能适用与scope_identity 类似的系统函数

     @@identity
    

      

    另外我们可以使用 identitycol自动指向表中有identity属性的列,例如:

    select identitycol from customer 和

    select cust_id from customer 是一样的效果

  • 相关阅读:
    python实现从生成器中取固定角标的元素
    python-高阶函数
    git学习手册
    python批量进行文件修改操作
    python第一站
    LoadRunner,一个简单的例子
    python3中urllib2的问题
    gitlab 随笔
    sed 删除文本
    sed 修改文本
  • 原文地址:https://www.cnblogs.com/needrunning/p/2168680.html
Copyright © 2011-2022 走看看