Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tambahkan kolom jika tidak ada ke semua tabel?

Anda tidak dapat menggunakan variabel, seperti @tableName, di DDL. Selain itu, membelah nama menjadi beberapa bagian dan mengabaikan skema hanya dapat menghasilkan bug. Anda sebaiknya menggunakan penggantian ''?'' dalam parameter batch SQL dan mengandalkan MSforeachtable pengganti:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kesalahan mengonversi varchar ke float

  2. TSQL DateDiff untuk mengembalikan jumlah hari dengan 2 tempat desimal

  3. 5 Fitur Teratas yang Perlu Disediakan Platform Pemantauan Kinerja Basis Data SQL Server Anda

  4. Melewati c# DataTable sebagai parameter ke prosedur tersimpan di MS SQL Server 2008

  5. Saya telah memutakhirkan Driver SQL Server ODBC dan kinerja telah terpengaruh secara negatif. Apa yang dapat saya?