Mengubah Nama Tabel dan Nama Kolom di Oracle

Saya pernah menemukan di kelas saya, seorang mahasiswa men-drop table nya dan meng-create table itu lagi dari awal hanya karena salah memberi nama tabelnya. Pernah juga seorang mahasiswa saya men-drop sebuah kolom kemudian meng-add kolom itu lagi dengan alasan yang kurang lebih sama; salah memberi nama. What a big effort.

Well, saya sih sebetulnya merasa bangga dengan kegigihan dan kreativitas mereka😎 tapi bagaimana kalau tabel itu sudah punya banyak data? Artinya mereka selain melakukan drop dan create table, mereka juga harus insert data lagi dari awal bukan? Belum lagi constraint-constraintnya, bisa bikin pusing tujuh keliling.

Sebetulnya ada cara yang lebih efisien jika kita ingin mengubah (me-rename) nama tabel di Oracle tanpa harus membuat ulang dari awal, tanpa harus kehilangan data dan tanpa harus membuat ulang constraint-constraintnya. Gunakan saja perintah RENAME.

RENAME nama_lama TO nama_baru;

rename

Yes, it is that simple😀 Yang paling saya suka dari perintah ini adalah semua integrity constraint yang sudah kita buat sebelumnya akan tetap terjaga. Tidak perlu membuat ulang foreign key dan kawan-kawannya😎 Perlu diingat bahwa perintah RENAME ini tidak bisa di-rollback.

Adapun untuk mengubah nama kolom caranya agak sedikit lebih panjang yaitu dengan menggunakan perintah ALTER TABLE dan klausa RENAME COLUMN

ALTER TABLE nama_tabel
RENAME COLUMN nama_lama TO nama_baru;

rename column

Sama halnya dengan perintah RENAME, perintah ALTER TABLE RENAME COLUMN ini juga tidak akan mempengaruhi data yang sudah ada, tidak mengubah tipe data dan tidak akan mengganggu constraint-constraint yang sudah ditetapkan sebelumnya😎 Hanya saja perlu diperhatikan bahwa klausa RENAME COLUMN ini tidak bisa digunakan bersama klausa lain dan hanya bisa digunakan untuk mengubah nama 1 kolom saja. Well, dengan sedikit modifikasi sebetulnya kita bisa juga sih mengubah nama beberapa kolom sekaligus dengan satu perintah ALTER TABLE. Caranya yaitu dengan menggunakan substitution variable.

ALTER TABLE nama_tabel
RENAME COLUMN &nama_kolom_lama TO &nama_kolom_baru;

Hasilnya nanti akan seperti ini:

multi-column rename

Mudah bukan? Selamat mempraktekkan dan semoga bermanfaat🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s