Похоже, что когда-то возвращаемое значение могло что-то значить (см. Ссылку на SQL 2000 BOL возвращаемое значение ) до SQL Server 2000.
Я проверил, могу ли я найти список этих оригинальных кодов возврата специально для MS SQL, и обнаружил после (хотя я не знаю его подлинность, и он фактически не перечисляет значения ).
Итак, после прочтения всех этих статей похоже, что @return_status - это параметр, который ВСЕГДА возвращается при выполнении хранимой процедуры (даже если вы ее не используете). Согласно статье RETURN Books, код возврата не может быть нулевым.
При использовании с хранимой процедурой,
ВОЗВРАТ не может вернуть нулевое значение. Если
процедура пытается вернуть ноль
значение (например, с помощью RETURN
@status, когда @status имеет значение NULL),
предупреждение генерируется и
возвращается значение 0.
Запуск следующего T-SQL определенно показывает это,
create Procedure Test
as
begin
DECLARE @RTN integer
Return @RTN
END
GO
Exec Test
GO
Drop Procedure Test
GO
Вы получите
The 'Test' procedure attempted to return a status of NULL, which is not allowed. A status of 0 will be returned instead.
В конце концов, похоже, что ответ таков: @ return_status не может быть нулевым (равным 0, если не установлено, или установлено в NULL) ...
Что касается кодов ошибок, упомянутых в предполагаемой статье BOL для SQL 7.0, я думаю, что это будет старое удержание от Sybase ... Руководство по Sybase 5.0
Kris