Câu trả lời dài: số dòng được tính từ báo cáo kết quả CREATE PROCEDURE
, cộng với bất kỳ dòng trống hoặc dòng chú thích bạn có thể đã có ở trên nó khi bạn thực sự chạy báo cáo kết quả CREATE
, nhưng không kể bất kỳ dòng trước một tuyên bố GO
...
tôi tìm thấy nó dễ dàng hơn nhiều để thực hiện một proc lưu trữ để chơi xung quanh với để 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 bạn đã tạo ra nó, bạn có thể chuyển nó để ALTER PROCEDURE
và thêm một số dòng trống trên các ý kiến và ở trên và bên dướiđầu tiêntuyên bố để xem hiệu quả.
Một điều rất lạ tôi nhận thấy là tôi phải chạy EXEC ErrorTesting
trong cửa sổ truy vấn mới thay vì làm nổi bật nó ở cuối cùng cửa sổ và chạy… Khi tôi làm như vậy, số dòng vẫn tiếp tục tăng lên! Không chắc chắn lý do tại sao điều đó xảy ra ..
Nguồn
2015-07-16 00:01:26
Tôi nghĩ số dòng liên quan đến phần thân của proc. tức là bỏ qua tiêu đề. –
Có thể http://stackoverflow.com/questions/4550342/possible-to-get-the-line-number-of-the-currently-executing-sproc-in-sql-server sẽ trợ giúp. –
Tiêu đề kết thúc ở đâu? Sau khi bắt đầu theo quy trình thay đổi ... AS? – chama