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'