Tôi đang cố gắng gỡ lỗi các thủ tục được lưu trữ trong SQL Server Management Studio 2008. Tôi muốn chèn một số lệnh in để kiểm tra một số câu lệnh IF mà tôi biết là sai.Làm cách nào để gỡ lỗi các thủ tục đã lưu bằng lệnh in?
Để gỡ lỗi, tôi đã thử sử dụng lệnh PRINT '5'
.
Tôi đã thử sử dụng RAISERROR
như 'RAISERROR (N'Start',10,1) WITH NOWAIT'
.
Nhưng chúng không hiển thị bất kỳ bản in nào, chỉ có tập hợp kết quả. Thông báo chỉ cho biết 1 row affected
.
Tôi đã cố gắng để viết mã như vậy (có lẽ đây là một cách tiếp cận không chính xác):
SET NOCOUNT ON
RAISERROR (N'Start',10,1) WITH NOWAIT
DECLARE @DocHandle INT
DECLARE @PageSize INT, @PageIndex INT, @TOTL_CONT NUMERIC(5,0), @Paging BIT
DECLARE @Type INT, @Search varchar(20) , @ORDE nVARCHAR(50), @SORT_ID nVARCHAR(50)
DECLARE @CreatedOn varchar(25), @SystemGenerate bit
cách tốt nhất để sử dụng báo cáo in để gỡ lỗi một thủ tục lưu trữ là gì?
Bạn có thể chỉ cho chúng ta câu lệnh if? Nếu nó không in, thì có lẽ thử nghiệm thất bại và nó không đi vào khối điều kiện. – Bridge
Có phải '1 hàng bị ảnh hưởng' khi bạn cập nhật thủ tục đã lưu trữ của mình hay khi bạn thực sự thực thi nó? Không có lý do tại sao mã bạn đã đưa ra sẽ không in một cái gì đó (đến cửa sổ tin nhắn, không phải cho kết quả). –