set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[test1]
as
declare @thisID as bigint
BEGIN TRANSACTION
SELECT top 1 @thisID=id FROM tab1 ROWLOCK WHERE flag=0
update tab1 set flag=1 where id=@thisID
select * from tab1 where id=@thisID
COMMIT TRANSACTION多个客户端同时访问数据库,本意是让一条记录只被一个客户端读取,但有时还会出现一条记录同时被两个或多个客户端读取?怎样改进呢?谢谢!!
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[test1]
as
declare @thisID as bigint
BEGIN TRANSACTION
SELECT top 1 @thisID=id FROM tab1 ROWLOCK WHERE flag=0
update tab1 set flag=1 where id=@thisID
select * from tab1 where id=@thisID
COMMIT TRANSACTION多个客户端同时访问数据库,本意是让一条记录只被一个客户端读取,但有时还会出现一条记录同时被两个或多个客户端读取?怎样改进呢?谢谢!!
解决方案 »
- 一个表里面有2个相同外键。。
- 判断一下数据库是否存在,存在则删除怎么写?急用
- 想做一个系统,用户执行一下建库程序,会创建一个新的数据库,如何做呀?
- 随机 组合 急求!
- 求条触发器语句
- 本人用SQL2005做数据库,Delphi7.0做界面软件,数据库数据来源是从Excle中导入,请问在Delphi界面上还要设计”导入数据“这个按钮吗?
- 高手帮忙解决一个case嵌套的问题
- 关于数据统计方面的SQL语句该如何写?? :(
- 高手请进,关于sql server 7.0 的management->sql server agent->jobs 的问题
- 关于view的问题,急急急!!!
- 如何在没有安装SQL Server的电脑上使用bcp
- 请问这个查询怎么写。
SELECT top 1 @thisID=id FROM tab1 with(xlock,pagLOCK) WHERE flag=0