微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver返回表插入数据行后的自增值

标准定义: IDENT_CURRENT('tableName') 返回为任何会话和任何作用域中的特定表最后生成的标识值 @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值 ScopE_IDENTITY() 返回为当前会话和当前作用域中的任何表最后生成的标识值 ps: 当前对话,可以这样理解,就是你在操作数据库,从conn.open()到conn.close(),可以看成一个会话 当前作用域,比如你通过sql或者存储过程来操作数据库,那么你的sql执行,或者存储过程执行代码的边界就是一个独立作用域,同时,事先定义的触发器也是一个独立作用域, 这样就好理解上面的3个表示了, IDENT_CURRENT 是任何会话或者任何作用域的代码执行时都可能引起改变,是全局变量, @@IDENTITY  是当前会回话,sql,存储过程,触发器都可能改变其值,返回值要看谁最后执行的,是会话级变量, ScopE_IDENTITY 是当前会话,sql或者你调用的存储过程(可能存储过程又调用了其他存储过程,看成一个作用域),可以改变的值,作用域最小

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐