sql >> Database >  >> RDS >> Sqlserver

Dynamische t-sql aanhalingstekens in string

NB:Zie De vloek en zegeningen van dynamische SQL - omgaan met dynamische tabel- en kolomnamen

U moet nog steeds SQL met parameters gebruiken en exec sp_executesql . gebruiken (dat vereist parameters). Gebruik ook QUOTENAME rond de objectnamen in plaats van zelf de haakjes aaneen te zetten.

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;



  1. wat gebeurt er in de adoptiefase, voorbereiding

  2. MySQL/PHP-fout:[2002] Slechts één gebruik van elk socketadres (protocol/netwerkadres/poort) is normaal gesproken toegestaan

  3. MySQL - Hoe LIMIT toepassen op GROUP?

  4. Wanneer probeert MySQL een index voor een kolom bij te werken?