Đối với các câu lệnh sử dụng thủ tục sp_executesql thì chúng ta cần lưu ý một số vấn đề sau:
Phải khai báo biến kiểu Nvarchar để tránh lỗi
Câu lệnh sai
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
Câu lệnh đúng:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL