2 cjq 371989 cjq_371989 于 2013.11.28 09:43 提问

SCOPE_IDENTITY()的用法

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

1个回答

u012908616
u012908616   2013.11.28 13:09
已采纳

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

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

cjq_371989
cjq_371989 谢谢
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!