cjq_371989 2013-11-28 01:43 采纳率: 75%
浏览 2234
已采纳

SCOPE_IDENTITY()的用法

SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值,当前会话和当前作用域怎么理解啊,求大神帮忙,我在dao层写了两个方法,一个是添加数据另一个是返回刚添加的这条数据的ID 为什么获取的是空的。

  • 写回答

1条回答

  • Todd_Pointer 2013-11-28 05:09
    关注

    当前会话一般是指当前的连接, 即你同时开两个连接到数据库执行两条带自增长ID的插入语句,其产生的标识是互不影响的。

    当前作用域一般是指存储过程(如果直接执行SQL的话这段SQL也理解成一个存储过程)层面。 比如你在A存储过程中执行插入产生一个ID, 然后调用B存储过程执行插入也产生一个ID,完事从B返回到A, 在A里调用这个函数, 返回的是A里产生的ID 而不是B里产生的ID, 虽然对于当前连接来说, B里产生的ID更晚更新。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料