帮忙请大家看看 下面这个存储过程(sqlserver2005)。。这个是一个ID种子表。因为多用户操作。当一个用户进行操作的时候锁定该表,别的用户进行排队等待。小弟我知道应该是用lock来解决 可是就是不知道语法应该怎么写
请高手们帮我看看啊。。应该怎么应用于存储过程中啊
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [db_accessadmin].[Up_Bap_GetIDSeed]
@KeyVal varchar(128),
@ReturnID int outputASSELECT @ReturnID = MaxValue + 1 from[db_owner].IDSeed
WHERE [NAME] = @KeyVal
--SET @ReturnID = MaxValue + 1update [db_owner].IDSeed set MaxValue = @ReturnID
WHERE [NAME] = @KeyVal
请高手们帮我看看啊。。应该怎么应用于存储过程中啊
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [db_accessadmin].[Up_Bap_GetIDSeed]
@KeyVal varchar(128),
@ReturnID int outputASSELECT @ReturnID = MaxValue + 1 from[db_owner].IDSeed
WHERE [NAME] = @KeyVal
--SET @ReturnID = MaxValue + 1update [db_owner].IDSeed set MaxValue = @ReturnID
WHERE [NAME] = @KeyVal
解决方案 »
- X64bit SQL调用Webservice,CLR部署成功后,SQL调用显示500 内部服务器错误
- 子窗体传递值问题
- ComboBox 文本选中
- C#winform,我把MP3格式的音乐放到资源文件中,怎么调用播放它?
- 一个简单的问题
- 用c#语言在winxp下创建管理员用户的问题!
- 怎么样在自定义控件中使用session且session值不从页面传进来
- 无法安装VS,急求救!!!
- Winform 中直接播放VOX格式语音文件或TOwav
- 高分求SMARTGRID FOR VS2005控件
- 求助:有谁做过CA认证的开发,请教
- 紧急求助:C#.net中Session值传不到其它页面。高分求解,在线等候
WHERE [NAME] = @KeyVal这样只需要一条update语句即可,就是一个独立事务了。
WHERE [NAME] = @KeyValSELECT @ReturnID = MaxValue from[db_owner].IDSeed
WHERE [NAME] = @KeyVal
--SET @ReturnID = MaxValue + 1
SET XACT_ABORT ON
begin tran
SELECT @ReturnID = MaxValue + 1 from[db_owner].IDSeed with(tablockx)
WHERE [NAME] = @KeyVal
--SET @ReturnID = MaxValue + 1update [db_owner].IDSeed set MaxValue = @ReturnID
WHERE [NAME] = @KeyValcommit tran