您的位置:首页 > 其它

关于查询自己刚刚插入的那一条数据的方法

2011-01-13 15:24 567 查看
1、先在一查询分析器中执行以下语句:
declare @nameo varchar(50);
Begin
Set NOCOUNT ON;
Set XACT_ABORT ON;
Begin Tran

Insert into users ([id],[name],create_date)values('1','1',getdate())
WAITFOR DELAY '00:00:20';
select @nameo=[name] from users where [id]='1'
print @nameo
Commit Tran

End

2、执行完1后,在另一查询分析器中执行如下语句(要在执行完1后20秒内执行完2)
Insert into users ([id],[name],create_date)values('1','2',getdate())

结果1中输出“2”
说明:取得的数据不正确,试想一下,在我插入数据之后查询之前,另一个用户也插入了一条数据,那么我取得的数据就不是我刚刚插入的那一条。

那么,如何取得自己刚刚插入那一条记录的ID呢,其实,这个ID是自增的,所以
将“ select @nameo=[name] from users where [id]='1' ”换成“ select @nameo=@@IDENTITY from users ”

问题解决!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐