Cara Mengubah Computed Column
Menjadi Kolom Reguler di SQL Server
Jika Anda bekerja dengan SQL Server, Anda mungkin akan menemui situasi di mana Anda perlu mengubah kolom terhitung menjadi kolom reguler. Ini mungkin diperlukan jika Anda ingin mulai menyimpan data secara langsung di kolom tersebut alih-alih memiliki data yang dihitung secara otomatis berdasarkan sebuah ekspresi. Sayangnya, SQL Server tidak mengizinkan Anda untuk sekadar mengubah kolom terhitung yang ada menjadi kolom yang tidak dihitung sambil mempertahankan datanya. Namun, ada solusi alternatif yang dapat mencapai hasil yang diinginkan. Dalam posting blog ini, kami akan membahas prosesnya langkah demi langkah.
Memahami Kolom Terhitung
Sebelum kita melanjutkan ke solusi, penting untuk memahami apa itu kolom terhitung.
- Kolom Terhitung: Kolom terhitung di SQL Server adalah kolom virtual yang berasal dari ekspresi yang melibatkan kolom lain di tabel yang sama. Nilainya dihitung secara otomatis setiap kali baris diambil atau dimodifikasi.
- Contoh: Sebagai contoh, jika Anda memiliki kolom
full_name
yang berasal dari kolomfirst_name
danlast_name
, SQL Server menghitungfull_name
setiap kali Anda melakukan query pada tabel tersebut.
Sekarang, mari kita telusuri langkah-langkah yang diperlukan untuk mengubah kolom terhitung menjadi kolom reguler sambil mempertahankan nilai saat ini.
Solusi Langkah-demi-Langkah
Langkah 1: Tambahkan Kolom Baru ke Tabel
Langkah pertama adalah membuat kolom baru di tabel yang ada yang pada akhirnya akan menyimpan nilai yang ada di kolom terhitung. Berikut cara melakukannya:
ALTER TABLE NamaTabelAnda ADD NamaKolomBaru TipeData;
Ganti NamaTabelAnda
dengan nama tabel Anda, NamaKolomBaru
dengan nama kolom baru, dan TipeData
dengan tipe data yang diinginkan (misalnya, VARCHAR
, INT
, dll.) berdasarkan nilai yang diharapkan.
Langkah 2: Salin Data dari Kolom Terhitung
Selanjutnya, Anda akan ingin memindahkan data dari kolom terhitung ke kolom baru yang baru saja Anda buat. Anda dapat melakukan ini menggunakan pernyataan UPDATE
:
UPDATE NamaTabelAnda SET NamaKolomBaru = NamaKolomTerhitung;
Pastikan untuk mengganti NamaKolomTerhitung
dengan nama sebenarnya dari kolom terhitung yang datanya Anda salin.
Langkah 3: Hapus Kolom Terhitung
Sekarang Anda telah menyimpan nilai di kolom baru, Anda dapat menghapus kolom terhitung yang lama. Ini akan membebaskan ruang di tabel Anda dan menyelesaikan konversi:
ALTER TABLE NamaTabelAnda DROP COLUMN NamaKolomTerhitung;
Langkah 4: Ganti Nama Kolom Baru (Opsional)
Jika Anda ingin kolom baru memiliki nama yang sama dengan kolom terhitung yang lama untuk konsistensi, Anda dapat menggunakan:
EXEC sp_rename 'NamaTabelAnda.NamaKolomBaru', 'NamaKolomTerhitung', 'COLUMN';
Ringkasan Proses
Untuk mengubah kolom terhitung menjadi kolom yang tidak terhitung, ikuti langkah-langkah sederhana ini:
- Tambahkan kolom baru ke tabel.
- Salin data dari kolom terhitung ke kolom baru.
- Hapus kolom terhitung.
- (Opsional) Ganti nama kolom baru untuk mempertahankan nama asli.
Kesimpulan
Meskipun SQL Server tidak secara langsung mengizinkan pengubahan kolom terhitung menjadi kolom reguler, langkah-langkah yang dijelaskan di atas memberikan solusi praktis tanpa kehilangan data yang ada. Dengan menambahkan kolom baru, menyalin data, dan kemudian menghapus kolom terhitung, Anda dapat mencapai hasil yang diinginkan secara efektif.
Jika Anda merasa blog ini bermanfaat atau tahu seseorang yang mungkin mendapat manfaat dari informasi ini, jangan ragu untuk membagikannya! Untuk lebih banyak tips dan trik SQL Server, tetap terhubung dengan blog kami.