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