日期:2014-05-17  浏览次数:20403 次

数据库插入数据并读取ID的问题。
问题描述:
表明:aa
这个表可能每秒都有人插入数据,如果几个人同时插入数据的时候,插入完成以后,需要获取这个记录的ID,但是如果用Max或者top id 的话,有可能会获取的是其他人插入的记录的ID,这个需要怎么解决呢?

------解决方案--------------------
存储过程
------解决方案--------------------
用存储过程,最好生成ID的的时候专门写一个函数,调用函数生成ID,然后执行insret操作,insert之后output ID
------解决方案--------------------

存储过程中返回@@Identity
------解决方案--------------------
存储过程中select @@Identity返回
------解决方案--------------------
执行完插入SQL后,当即返回所生成的ID于业务层。
例如:insert into values('','') select @@identity as id
------解决方案--------------------
再加一列,先生成个system.newguid()~~插进去后根据你自己生成的guid就知道是哪个了