Home > Articles > From Varchar to CLOB @Oracle

From Varchar to CLOB @Oracle

October 20, 2008 Leave a comment Go to comments

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.

Tags: , ,
  1. November 10, 2008 at 8:10 am

    CLOB sama dengan BLOB gak rul?

  2. November 11, 2008 at 8:26 am

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

  3. choirul
    November 18, 2008 at 1:54 am

    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.

  4. choirul
    November 19, 2008 at 2:11 am

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

  5. December 11, 2008 at 5:47 am

    aduh choy… ngomong apa ini dirimu? :p

  6. February 9, 2009 at 8:02 am

    bahasa dewa-dewa …

  7. November 24, 2010 at 2:32 am

    mau nanya nih…
    jumlah karakter di clob maksimal berapa ya? sy coba kopi paste dr blog ke blog pribadui sy dg db oracle clob masih gak bisa. Bisa masuk jika tulisannya dikurangi. Mohon pencerahan

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: