Я думаю, что вопрос должен быть отредактирован, чтобы спросить -
Каковы возвращаемые значения по умолчанию, если
у вас нет оператора RETURN в
ваш сохраненный процесс?
Что-то, что я нашел, было по этой ссылке www.redware.com / handbooks / sql_server_handbook / sql_server_stored_procedures.html
SQL Server будет возвращать по умолчанию
значение до нуля. Возвращаемые значения
обычно используется для возврата флага статуса
из хранимой процедуры с
ненулевое значение, обычно указывающее
сбой во время обработки.
Возвращенные значения трудно
доступ с использованием ODBC их использование
рекомендуется только вернуть успех
или сбой хранимой процедуры
при общении с другими хранится
процедур.
По этой ссылке - sqlserverpedia.com / wiki / Stored_Procedures _-_ Output_Parameters _ & _ Return_Values
Возвращаемые значения от -99 до 0:
зарезервировано для внутреннего использования SQL Server.
Вы можете создать свои собственные параметры
которые могут быть переданы обратно в призвание
программа.
Также еще одна ссылка (я думаю) от @Erland Sommarskog www.sommarskog.se / error-processing-I.html
Возвращаемые значения из хранимых процедур
Все хранимые процедуры имеют возврат
значение, определяемое ВОЗВРАТОМ
заявление. Оператор RETURN занимает
один необязательный аргумент, который должен быть
числовое значение. Если вы говорите, ВОЗВРАТИТЕ
без предоставления значения, возврат
значение равно 0, если во время ошибки нет
выполнение. Если ошибка происходит во время
выполнение процедуры, возврат
значение может быть 0, или это может быть
отрицательное число. То же самое верно, если
нет никакого заявления ВОЗВРАЩЕНИЯ вообще в
процедура: возвращаемое значение может быть
отрицательное число или оно может быть 0.
Имеют ли эти отрицательные числа
любой смысл, немного сложно
сказать. Раньше было так, что
возвращаемые значения от -1 до -99 были зарезервированы
для сгенерированных системой возвращаемых значений,
и Books Online для более ранних версий
SQL Server указанные значения для
значения от -1 до -14. Тем не менее, Книги
Онлайн для SQL 2000 молчит о любом
такие оговорки, и не
объясните, что будет означать от -1 до -14.
За некоторым исключением,
системные хранимые процедуры, которые
Microsoft поставляется с возвратом SQL Server
0, чтобы указать успех, и любой ненулевой
значение указывает на сбой.
Получение информации об ошибке
Также, если вам нужно выяснить, в чем заключается ошибка (а не то, что означает -6), вы можете попробовать поместить ваш sql в try catch, т.е.
begin try
select 1/0 as 'an error'
end try
begin catch
select ERROR_NUMBER() as 'ERROR_NUMBER',
ERROR_SEVERITY() as 'ERROR_SEVERITY',
ERROR_STATE() as 'ERROR_STATE',
LEFT(ERROR_PROCEDURE(),50) as 'ERROR_PROCEDURE',
ERROR_LINE() as 'ERROR_LINE' ,
LEFT(ERROR_MESSAGE(),40) as 'ERROR_MESSAGE'
end catch