sql >> Base de Datos >  >> RDS >> Sqlserver

Comillas dinámicas de t-sql en cadena

NB:Consulte La maldición y las bendiciones del SQL dinámico:manejo de nombres de columnas y tablas dinámicas

Aún debe usar sql parametrizado y usar exec sp_executesql (que toma parámetros). También use QUOTENAME alrededor de los nombres de los objetos en lugar de concatenar los corchetes usted mismo.

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;