Tôi đã sử dụng SQL động cho nhiều tác vụ và liên tục gặp phải cùng một vấn đề: In các giá trị của các biến được sử dụng bên trong câu lệnh T-SQL động.
VÍ DỤ:
Declare @SQL nvarchar(max), @Params nvarchar(max), @DebugMode bit, @Foobar int
select @DebugMode=1,@Foobar=364556423
set @SQL='Select @Foobar'
set @Params=N'@Foobar int'
if @DebugMode=1 print @SQL
exec sp_executeSQL @SQL,@Params
,@Foobar=@Foobar
Kết quả in của đoạn mã trên chỉ đơn giản là "Chọn @Foobar". Có cách nào để tự động in các giá trị & tên biến của sql đang được thực thi không? Hoặc khi thực hiện in, thay thế các tham số bằng các giá trị thực tế của chúng để SQL có thể chạy lại được?
Tôi đã chơi với việc tạo một hoặc hai hàm để thực hiện một cái gì đó tương tự, nhưng với chuyển đổi loại dữ liệu, các vấn đề cắt ngắn phù hợp với mẫu và các giải pháp không động. Tôi tò mò làm thế nào các nhà phát triển khác giải quyết vấn đề này mà không in thủ công từng biến một cách thủ công.