Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dynamiczne cudzysłowy t-sql w ciągu znaków

Uwaga:Zobacz Klątwa i błogosławieństwa dynamicznego SQL — postępowanie z dynamicznymi nazwami tabel i kolumn

Powinieneś nadal używać sparametryzowanego sql i używać exec sp_executesql (która przyjmuje parametry). Użyj także QUOTENAME wokół nazw obiektów zamiast samodzielnego łączenia nawiasów.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń znaki rozszerzone ASCII od 128 (SQL)

  2. Jak uniknąć niepowodzenia zadania FTP SSIS, gdy nie ma plików do pobrania?

  3. SQL Server :UPDATE MojaTabela SET col1 =wartość, col2 =col1

  4. Pomoc dotycząca wyzwalania serwera sql - ta sama aktualizacja tabeli

  5. Czy można wykorzystać MS VS Database Project jako kompletne rozwiązanie do wersjonowania baz danych?