
sql存储过程后 表锁定
存储过程如下:CREATEprocedure[dbo].[UP_UpdateProduct]@pidint,@pnamevarchar(50),@paddressvarc...
存储过程如下:
CREATE procedure [dbo].[UP_UpdateProduct]
@pid int,
@pname varchar(50),
@paddress varchar(50),
@isHost bit,
@isDeal bit
as
begin
BEGIN TRANSACTION
update test5 set pname=@pname,paddress=@paddress,isHost=@isHost,isDeal=@isDeal
where pid=@pid
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
END
else
COMMIT TRANSACTION
end
GO
执行存储过程后数据更新成功,但是test表被锁定,请高手指点。补充:COMMIT TRANSACTION 执行了。 展开
CREATE procedure [dbo].[UP_UpdateProduct]
@pid int,
@pname varchar(50),
@paddress varchar(50),
@isHost bit,
@isDeal bit
as
begin
BEGIN TRANSACTION
update test5 set pname=@pname,paddress=@paddress,isHost=@isHost,isDeal=@isDeal
where pid=@pid
IF @@ERROR <> 0
BEGIN
ROLLBACK TRANSACTION
END
else
COMMIT TRANSACTION
end
GO
执行存储过程后数据更新成功,但是test表被锁定,请高手指点。补充:COMMIT TRANSACTION 执行了。 展开
1个回答
展开全部
去掉TRANSACTION。
UPDATE自己带TRANSACTION,如果UPDATE失败了,会自动回滚。
UPDATE自己带TRANSACTION,如果UPDATE失败了,会自动回滚。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |