From Varchar to CLOB @Oracle

Posted on October 20, 2008. Filed under: Informatika | Tags: , , |

Sekedar info… di oracle tidak ada type field text. untuk menyimpan data alfanumeris biasanya menggunakan tipe data varchar2. tetapi varchar2 memiliki keterbatasan yaitu jumlah karakter yang tidak boleh > 4000 karakter. Lalu bagaimana agar bisa menyimpan data yang terdiri dari > 4000 karakter ???. caranya dengan menggunakan tipe data CLOB.

Tetapi hal diatas menjadi agak rumit ketika column yang akan kita alter dari varchar2 ke CLOB telah memiliki data. Sedangkan di oracle kita tidak bisa langsung mengganti tipe data varchar2 ke CLOB seperti sintaks berikut :

ALTER TABLE t MODIFY name CLOB

*

ERROR at line 1:

ORA-22858: invalid alteration of datatype

ada beberapa langkah yang perlu dilakukan untuk mengalter column dari varchar2 ke CLOB, antara lain :

  1. tambahkan kolom baru dengan tipe CLOB
  2. update data pada kolom baru dengan isi dari kolom lama
  3. drop kolom yang bertipe varchar2
  4. rename kolom baru dengan nama kolom yang di drop.

langkah-langkah diatas dapat dibuat ke bentuk skrip berikut :

SQL>ALTER TABLE <nama_tabel> ADD tmp_name CLOB;
Table altered.

SQL>UPDATE <nama_tabel> SET tmp_name=<nama_kolom>;
2 rows updated.

SQL>ALTER TABLE <nama_tabel> DROP COLUMN <nama_kolom>;
Table altered.

SQL>ALTER TABLE <nama_tabel> RENAME COLUMN tmp_name to <nama_kolom>;
Table altered.

SQL>desc <nama_tabel>;

ganti <nama_tabel> dan <nama_kolom> pada script diatas dengan nama tabel dan nama kolom pada database anda.

Make a Comment

Make a Comment: ( 6 so far )

blockquote and a tags work here.

6 Responses to “From Varchar to CLOB @Oracle”

RSS Feed for Choirul Blog Comments RSS Feed

CLOB sama dengan BLOB gak rul?

hmmmm. kalo belum gabung ke http://icon03.net belum lengkap ni..

CLOB sama dengan BLOB gak rul? => oh beda jar… kalo CLOB itu digunakan untuk menyimpan karakter, tapi BLOB digunakan untuk menyimpan binary. Biasanya BLOB dipake untuk menyimpan file gambar ke dalam database.

toex ridho, udah dho.. check this out :D http://icon03.net/profile.php?user=choirul,
btw gimana sydney ??? more interesting kah…

aduh choy… ngomong apa ini dirimu? :p

bahasa dewa-dewa …


Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...