sql >> Database >  >> RDS >> Sqlserver

Een kolom toevoegen als deze niet in alle tabellen voorkomt?

U kunt geen variabelen, zoals @tableName, gebruiken in DDL. Trouwens, het splitsen van de naam in delen en het negeren van het schema kan alleen maar leiden tot bugs. U moet gewoon de ''?''-vervanging in de SQL-batchparameter gebruiken en vertrouwen op de MSforeachtable vervanging:

EXEC sp_MSforeachtable '
if not exists (select * from sys.columns 
               where object_id = object_id(''?'')
               and name = ''CreatedOn'') 
begin
    ALTER TABLE ? ADD CreatedOn datetime NOT NULL DEFAULT getdate();
end';


  1. hibernate:maak een tabel met namen in kleine letters

  2. Schrijf een selectiequery om tabelwaarde te verkrijgen met een andere tabelveldwaarde

  3. Unicode-normalisatie in Postgres

  4. Hoe plaats ik een foto vanuit de iPhone-app (in Swift) naar de MySQL-database?