sql >> Databasteknik >  >> RDS >> Sqlserver

Lägg till en kolumn om den inte finns i alla tabeller?

Du kan inte använda variabler, som @tabellnamn, i DDL. Dessutom kan en splittring av namnet och ignorera schemat bara resultera i buggar. Du bör bara använda ersättningen ''?'' i SQL batch-parametern och lita på MSforeachtable ersättning:

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. Databashantering och övervakning för PostgreSQL 12

  2. Gruppera sidor från en kolumn

  3. ORACLE Efter uppdateringstrigger:löser ORA-04091 mutationstabellfel

  4. Sammanfoga tabeller i SQL