【发布时间】:2019-04-21 19:43:39
【问题描述】:
SQL Server 2014 (v12.0.5546) - 我有一个“主”存储过程,我从中运行了许多其他存储过程。如果出现错误,我希望它打印一行说明。
我今天运行它,主存储过程中的一个存储过程返回一个错误,说我正在尝试的表插入变量数量错误,但它没有打印错误。
我认为存储过程如果成功则返回 0,因此除此之外的任何内容都意味着错误。是我错了,还是我的流程有缺陷?
仅供参考,如果它遇到错误,我不需要它停止运行,我只需要它吐出错误消息,这样我就知道它在哪里失败了。到最后,这将增长到 20-30 个存储过程。
这里是主存储过程:
ALTER PROCEDURE [dbo].[Master_CreateLoadTables]
AS
DECLARE @retval INT
-- Builds all tables required for the stored procedures
EXEC @retval = [BuildTables]
IF (@retval) = 0
BEGIN
SET @retval = 1
EXEC @retval = [Load_CustomerLookup]
IF (@retval) <> 0
PRINT 'Load of Customer Lookup Table Failed'
EXEC @retval = [Load_CustomerInvoices]
IF (@retval) <> 0
PRINT 'Load of Customer Invoice Tables Failed'
EXEC @retval = [Load_Payments]
IF (@retval) <> 0
PRINT 'Load of Payments Table Failed'
END
ELSE
PRINT 'Table Creation Failed'
【问题讨论】:
标签: sql sql-server stored-procedures