長い答え:行番号は、CREATE PROCEDURE
ステートメントからカウントされます。また、ステートメントを実際に実行したときに、その上にある空白行またはコメント行CREATE
がカウントされますが、GO
ステートメントの前の行はカウントされません…
確認するために遊んでいるストアドプロシージャを作成する方がはるかに簡単であることがわかりました。
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE ErrorTesting
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT 1/0
END
GO
作成したら、に切り替えてALTER PROCEDURE
、コメントの上と最初の上下に空白行を追加できます。GO
ステートメントのして、効果を確認できます。
私が気付いた非常に奇妙なことの1つEXEC ErrorTesting
は、同じクエリウィンドウの下部で強調表示して実行するのではなく、新しいクエリウィンドウで実行しなければならないことでした。それが起こった理由がわからない..