保留資料庫表中的資料,把表中的欄位varchar2改成clob型別

mengzhaoliang發表於2008-06-27

* 2008/06/27  星期五
*蒙昭良
*環境:Linux + Oracle10gR2
*保留資料庫表中的資料,把表中的欄位varchar2改成clob型別
*/

 在開發中很多情況是這樣的,當初設計資料表時,把某一表的欄位設定成varchar2(3800),當應用伺服器運

行若干年後,varchar2(3800)已經不能滿足資料了。varchar2型別最大隻能是4000個位元組,再擴充套件也不能滿足需求時

,需要考慮替換成clob欄位。比如表中還有很多word的檔案,這樣的存放的word檔案一般是blob欄位。


 假如表infomation中已經有數萬條資料,需要把varchar2(3800)改成clob欄位:
1、首先備份該表infomation的所有資料
 create table infomation_copy
 as
 select * from infomation;  
 
2  drop表infomation
 drop table infomation;

3  重建表infomation,把某欄位的varchar2(3800)型別改成clob型別。(欄位名和原來的一樣,就把某欄位的

varchar2(3800)型別改成clob型別)

4  匯入原來的資料
 insert into infomation
 select * from infomation_copy;
    執行上面的語句就ok了,Blob欄位中的檔案還在!
 (注意:不能用PL/SQL Developer工具中的複製資料,然後貼上資料,這樣貼上的資料。欄位varchar2中的資料不能貼上到欄位clob中,blob中的檔案也不能貼上過來,只是把同一型別的int,varchar2等)

 

 

 


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-366149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章