Selasa, 15 April 2008

Reorder Field

Berikut adalah beberapa cara untuk reorder field tanpa menghapus data atau create ulang table
(sumber : indo-oracle)

1. Pakai features ONLINE-TABLE- REDEFINITION. Silakan baca dokumentasinya.

2. Kalau data tidak terlalu banyak/besar:
- catat semua constraints & index dari table
- rename table
- buat table yg baru pakai CTAS (CREATE TABLE AS SELECT)
- drop old table

Contoh:
Misal urutan column table1 (a,b,c,d), akan di reorder menjadi (a,d,c,b)

SQL> rename table1 to OLD_TABLE1;
SQL> CREATE TABLE table1 AS SELECT a,d,c,b FROM old_table1;


3. alternatif lain, buat view dgn nama yg sama dgn nama table-nya
- rename table
- buat view dgn nama table yg lama

Contoh:
Misal urutan column table1 (a,b,c,d), akan di reorder menjadi
(a,d,c,b)

SQL> rename table1 to OLD_TABLE1;
SQL> CREATE VIEW table1 AS SELECT a,d,c,b FROM old_table1;

Tidak ada komentar: