Câu trả lời dài: số dòng được tính từ CREATE PROCEDURE
câu lệnh, cộng với bất kỳ dòng trống hoặc dòng nhận xét nào mà bạn có thể đã có ở trên nó khi thực sự chạy CREATE
câu lệnh, nhưng không tính bất kỳ dòng nào trước một GO
câu lệnh…
Tôi thấy việc tạo một proc được lưu trữ để chơi xung quanh dễ dàng hơn nhiều để xác nhận:
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
Sau khi tạo xong, bạn có thể chuyển sang ALTER PROCEDURE
và thêm một số dòng trống phía trên nhận xét và bên trên và bên dưới GO
câu lệnh đầu tiên để xem hiệu quả.
Một điều rất lạ mà tôi nhận thấy là tôi phải chạy EXEC ErrorTesting
trong một cửa sổ truy vấn mới thay vì đánh dấu nó ở cuối cửa sổ đó và chạy… Khi tôi làm điều đó, số dòng tiếp tục tăng lên! Không chắc tại sao điều đó lại xảy ra ..