CREATE proc dbo.test
@bill varchar(20) ,
@message varchar(100) output
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
怎么在pb中呼叫
DECLARE sp_sellcheck PROCEDURE FOR test
@bill =:billbh, @message = :ls_message OUTPUT ;
EXECUTE sp_sellcheck;
FETCH sp_sellcheck INTO :ls_message;
CLOSE sp_sellcheck;
如果存盤程序執行到ROLLBACK TRANSACTION 就會出現計數錯誤commit就可以
uj5u.com熱心網友回復:
庫存不足那種情況好像沒有發生資料庫事物uj5u.com熱心網友回復:
沒有答案啊?uj5u.com熱心網友回復:
不會,幫頂uj5u.com熱心網友回復:
不會,幫頂轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/115129.html
標籤:數據庫相關
上一篇:PB與SQL的連接問
