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

TSQL - Tambahkan Kolom ke Semua Tabel di Database [ Contoh Kursor]

Skenario:

Terkadang kami memiliki persyaratan yang menambahkan kolom di semua tabel di Database. Hari ini kita harus menambahkan kolom CreatedOn di semua tabel jika belum ada di tabel.

Solusi:

Kami akan menggunakan Kursor untuk melakukan operasi ini.
Harap berikan nama Kolom dan Tipe Data untuk variabel ini. Pada contoh di bawah ini saya menambahkan kolom CreatedOn dengan tipe data DateTime.

SET @COLUMN_NAME='ColumnNameYouWantToAdd'
SET @COLUMN_DATATYPE='DataTypeOfColumn'

------------------------------------------------------------------- --Kode----------------------------------------------- ----
GUNAKAN TESTDBGO
--Deklarasikan Variabel
DECLARE @TableName VARCHAR(100)
MENYATAKAN @TableSchema VARCHAR(100)
MENYATAKAN @COLUMN_NAME VARCHAR(50)
SET @COLUMN_NAME='CreatedOn' -- Ubah Nama Kolom sesuai kebutuhan Anda
MENYATAKAN @COLUMN_DATATYPE VARCHAR(50)
SET @COLUMN_DATATYPE='DateTime' -- Berikan tipe data untuk kolom--Declare Cursor
MENNYATAKAN KURSOR CUR UNTUK SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE ='BASE TABLE'--BUKA KURSOR
OPEN CUR
--Ambil Baris Pertama
FETCH NEXT DARI CUR KE @TableSchema,@TableName--Loop
SELAMAT @@FETCH_STATUS =0 MULAI MENYATAKAN @SQL NVARCHAR(MAX) SET @SQL=NULL JIKA TIDAK ADA ( PILIH 1 DARI INFORMATION_SCHEMA.COLUMNS 
 DI MANA TABLE_NAME=@TableName DAN COLUMN_NAME=@COLUMN_NAME 
and Table_Schema=@TableSchema) MULAI SET @SQL='ALTER TABLE '+@TableSchema+'.'+@TableName +' ADD '+@COLUMN_NAME
 + ' '+@COLUMN_DATATYPE PRINT @SQL EXEC ( @SQL) SELESAI JIKA ADA ( PILIH 1 DARI INFORMATION_SCHEMA.COLUMNS 
 DI MANA TABLE_NAME=@TableName DAN COLUMN_NAME=@COLUMN_NAME 
and Table_Schema=@TableSchema) BEGIN CETAK 'Kolom Sudah ada di Tabel' END FETCH NEXT FROM CUR INTO @TableSchema,@TableName END--Tutup dan Hapus Kursor
TUTUP CUR
DEALOCATE CUR
  
  
  
Video Demo:Cara Menambahkan Kolom ke Semua Tabel di Database SQL Server (Contoh Kursor)
  
  

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Fungsi PATINDEX() Bekerja di SQL Server (T-SQL)

  2. Cara Membuat Shortcut Untuk SSMS dan Connect to Default SQL Server Secara Otomatis - SQ:Server/TSQL Tutorial Part 4

  3. Cara Menonaktifkan Semua Batasan PERIKSA &Kunci Asing untuk Tabel di SQL Server (Contoh T-SQL)

  4. Kinerja INNER JOIN vs LEFT JOIN di SQL Server

  5. Kueri Pemblokiran SQL Server