获得sql server自增字段的值 |
本文标签:sql server自增字段 sql server自增字段相信大家都有一定程度的了解,那么,插入一条记录后如何获得当前插入记录的sql server自增字段的值呢? 经过实验,得如下结论: select DISTINCT @@IDENTITY as iden from FaWen 解释:上述语句对 SQL SERVER 的一个会话,也就是一条连接,返回该连接最后一条插入记录得到的sql server自增字段的值 。 假设有3个程序,分别连接SQL SERVER,有三个连接 。3个程序都向同一个表依顺序插入数据,得到的值分别是1、2、3,那么,只要3个程序对SQL的连接还保持着,第一个程序使用上述语句,将得到1,而不是3,第二个程序将得到2,也不是3 。第三个程序得到3 。 因此,用上述语句可以得到自己刚才插入记录的自增字段的值,不怕其它程序的并发插入操作 。 上述语句中,使用 DISTINCT 的原因是,虽然返回的值是当前连接插入操作得到的最大值,但返回的相同值的记录有多条 。条数等于当前多个连接一共插入的记录数 。 实验方法:启动三个 Query analyzer 查询分析器,分别执行插入操作后再做上述取sql server自增字段值的操作
|