La respuesta larga: el número de línea se cuenta a partir de la CREATE PROCEDURE
declaración, más cualquier línea en blanco o línea de comentario que pueda haber tenido arriba cuando realmente ejecutó la CREATE
declaración, pero sin contar las líneas antes de una GO
declaración ...
Me pareció mucho más fácil hacer un proceso almacenado para jugar y confirmar:
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
Una vez que lo haya creado, puede cambiarlo ALTER PROCEDURE
y agregar algunas líneas en blanco encima de los comentarios y arriba y debajo de la primeraGO
declaración para ver el efecto.
Una cosa muy extraña que noté fue que tenía que correr EXEC ErrorTesting
en una nueva ventana de consulta en lugar de resaltarla en la parte inferior de la misma ventana y ejecutar… ¡Cuando hice eso, los números de línea siguieron aumentando! No estoy seguro de por qué sucedió eso ...