读书人

问一个有点难度的有关问题!

发布时间: 2012-03-26 15:46:55 作者: rapoo

问一个有点难度的问题!!!
背景:--------------------------

表A有2各字段,ID(自动编号)和NAME
对表A进行INSERT操作,将前页面接收到的NAME插入到表中。
然后显示出来NAME。

以上操作分为2条语句来完成,

分别是INSERT

SELECT NAME FROM 表A WHERE ID= MAX(ID)

问题:-------------------------
如果多人操作的话,会不会出现MAX(ID)混乱的情况?

能否,在INSERT的同时,取得到这个自动编号的ID是多少?

这样我通过SELECT NAME FROM 表A WHERE ID = 刚才插入操作影响到的ID.

请高手指点,谢谢。




[解决办法]
SELECT NAME FROM 表A WHERE ID=SCOPE_IDENTITY( )
[解决办法]
SELECT NAME FROM 表A WHERE ID=@@IDENTITY

意思和楼上的一样
所谓作用域你就想象为一个数据库连接就好了,虽然这么说不准确

所以,你在用@@IDENTITY的时候一定要插入后紧接着查询,中间不要从连接池中得两次连接

读书人网 >SQL Server

热点推荐