NB:Xem Lời nguyền và phước lành của SQL động - Xử lý với tên bảng và cột động
Bạn vẫn nên sử dụng sql được tham số hóa và sử dụng exec sp_executesql
(có tham số). Đồng thời sử dụng QUOTENAME
xung quanh tên đối tượng thay vì tự nối các dấu ngoặc.
SET @SQLString = N'SELECT @CountOUT = COUNT(*) FROM ' +
QUOTENAME(@table_name) + ' WHERE ' +
QUOTENAME(@new_column_name) + ' = @description'
EXECUTE sp_executesql @SQLString
,N'@description varchar(50), @CountOUT int OUTPUT'
,@description = @description
,@CountOUT = @CountOUT OUTPUT;