EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配。上一计数 = 0,当前计数 = 1。 怎么结局,求大神解答!!

qq_35278759 2017-01-09 03:28:40
ALTER PROCEDURE [dbo].[pro_outstore666]
(
@rpcode VARCHAR(20) ,
@cad VARCHAR(20),
@saleaddress VARCHAR(100) ,
@od VARCHAR(20) ,--出库日期
@WHCode VARCHAR(20) ,--仓库编码
@QTY INT ,--数量
@spmark INT , --标示
@tssm VARCHAR(500) , --特殊说明
@opcode VARCHAR(20) ,
--@ShGoogcode VARCHAR(20),

@batchnum VARCHAR(20) ,
@batchcout INT

)
AS /*****************************************/
DECLARE @iErrorCount INT,@TranCount INT;

SET @iErrorCount = @@TranCount;

IF @iErrorCount > 0
SAVE TRANSACTION ProcedureSave
ELSE

BEGIN TRAN Tran_out;

/****************************************/
DECLARE @storeID INT ,
@outID INT;
SELECT @storeID = id
FROM dbo.BaseStore
WHERE Basecode = @WHCode;
BEGIN



IF EXISTS ( SELECT TOP 1
1
FROM dbo.stock_storck
WHERE stockID = @storeID
AND stockNum >= @QTY
AND rpcode = @rpcode )
BEGIN
UPDATE dbo.stock_storck
SET stockNum = stockNum - @QTY ,
datechange = GETDATE()
WHERE rpcode = @rpcode
AND stockID = @storeID;
SET @iErrorCount = @iErrorCount + @@error;
INSERT INTO dbo.outproduct
( rpcode ,
OD ,
WHcode ,
QTY ,
spmark ,
TSNote ,
usercode ,
WH ,
statustype ,
INbatch ,
batchCount ,
CAD,
saleaddress
)
VALUES ( @rpcode ,
@od ,
@WHCode ,
@QTY ,
@spmark ,
@tssm ,
@opcode ,
@storeID ,
'直接出库' ,
@batchnum ,
@batchcout,
@cad,
@saleaddress
);

SET @iErrorCount = @iErrorCount + @@error;
SET @outID = @@identity; --入库明细id


INSERT INTO dbo.sys_storelog
( log_name ,
outID ,
logtype ,-- 0 表示入 1表示出库
storenum ,
storeID ,
storeWh ,
isdel ,
log_datetime ,
log_opname ,
rpcode
)
VALUES ( '直接出库' ,
@outID ,
1 ,
@QTY ,
@storeID ,
@WHCode ,
0 ,
GETDATE() ,
@opcode ,
@rpcode
);
SET @iErrorCount = @iErrorCount + @@error;
IF @iErrorCount = 0
BEGIN
COMMIT TRAN Tran_out;
END;
ELSE
BEGIN
ROLLBACK TRAN Tran_out;
END;
END;


END;
...全文
515 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2017-01-09
  • 打赏
  • 举报
回复
因为你回滚了事务 有可能是你里面语句的问题 也有可能是你BEGIN END的位置对应得不对 这个得自己才能看出来哦
qq_35278759 2017-01-09
  • 打赏
  • 举报
回复
IF EXISTS 调试到这里,就不行了。
--小F-- 2017-01-09
  • 打赏
  • 举报
回复
语句看起来是没问题的 需要你自己去调试了。能不能知道大概在什么地方出错的?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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