次の SP を考えると ...
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
テスト 2
テスト 4
テスト 5
戻り値 -6
Catch は 0 で除算をキャッチしますが、catch ブロックの後に実行が続行されるのはなぜですか? ずっと-6のままですか?
そして、私がここにいる間、ちょっと興味があるのですが、Try Block で実行を続けることは可能ですか (つまり、'Testing 3' を選択します)。
ありがとう