EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。

dggym 2007-01-15 08:18:14

CREATE proc dbo.test
@bill varchar(20) ,
@message varchar(100) output --WITH ENCRYPTION
as
set nocount on
SET XACT_ABORT ON
BEGIN TRANSACTION

--定义库存数量
declare @kcsl int,@bum int ,@li_ckdm int
if (@kcsl > @bum)
begin --库存数大于出库数
UPDATE G_HWKC SET CPSL= CPSL - @bum WHERE CKDM=@li_ckdm;
if ( @@error <>0 )
begin
ROLLBACK TRANSACTION;
set @message = '更改库存失败!!';
return -1
end
end
else --库存不足
begin
set @message = '库存数量不足,请检查';
ROLLBACK TRANSACTION;
return -1
end

COMMIT
RETURN 1
GO
...全文
359 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dggym 2007-01-15
  • 打赏
  • 举报
回复
执行到 ROLLBACK TRANSACTION; 就出现计数错,怎么能防止出现这样呀

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧