【DB筆試面試493】Oracle插入或更新CLOB欄位報「ORA-01704:字元串文字太長」如何解決?
- 2019 年 10 月 11 日
- 筆記
在Oracle中,Oracle插入或更新CLOB欄位報「ORA-01704:字元串文字太長」如何解決?
答案部分
可以從以下2方面考慮解決:
1、如果插入的SQL比較少,那麼可以人工處理。方法是使用PLSQL Developer軟體,命令為:select * from 表名 for update。這樣把相關的欄位內容直接複製到CLOB欄位中,最後提交即可。
2、如果插入的SQL比較多,那麼需要先把所有的SQL語句插入到表中,然後對SQL語句進行處理。首先需要找規律,找到規律了,然後用PL/SQL塊進行插入或更新即可。
DECLARE v_clobValue CLOB:= 'XXX'; --欄位內容,但是單引號中的內容不能超過4000字元 BEGIN UPDATE 表名 T SET T.欄位名 = T.欄位名|| v_clobValue WHERE 條件; COMMIT; END; /
& 說明:
有關ORA-01704錯誤的更多內容可以參考我的BLOG:http://blog.itpub.net/26736162/viewspace-2154662/
本文選自《Oracle程式設計師面試筆試寶典》,作者:李華榮。