Учитывая следующий SP ...SQLServer 2008 - Возвращаемое значение из хранимой процедуры после ловли исключение
CREATE PROCEDURE [dbo].[trytest1]
AS
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT 'Testing 1'
DECLARE @int1 INTEGER
DECLARE @int2 INTEGER
DECLARE @int3 INTEGER
SET @int1 = 0
SET @int2 = 0
BEGIN TRY
SELECT 'Testing 2'
SET @int3 = @int1/@int2
SELECT 'Testing 3'
END TRY
BEGIN CATCH
SELECT 'Testing 4'
END CATCH
SET @int3 = @int1 + @int2
SELECT 'Testing 5'
Выполнение этого дает ...
Тестирование 1
Testing 2
Испытание 4
Испытание 5
Возвращаемое значение -6
Поймайте улавливает деление на ноль, но выполнение продолжается после улова блока Im интересно, почему, даже если запрос выполнен успешно и продолжались после trycatch нормально, возвращаемое значение -6. Будет ли он оставаться навсегда?
И, в то время как я здесь, просто интересно, можно ли продолжить выполнение в пробном блоке (т.е. выберите «Testing 3»)
Благодаря
возможно дубликат [SQL Server хранится порядок возврата кода странность ] (http://stackoverflow.com/questions/2965211/sql-server-stored-procedure-return-code-oddity) – gbn
OK - информация была там, да. Большое спасибо. –