今天在操做數據庫數據的時候,想要插入一條某個字段是一個很長的字符串(好比一篇文章)的數據,例如:sql
insert into article(id,title,content) values(1,'標題','長字符串');
或數據庫
update article set content = '長字符串' where id = 1;
在使用PL/SQL執行的時候,報ORA-01704: 文字字符串太長錯誤。code
解決方案:字符串
使用存儲過程操做數據,以下:it
declare content clob; begin content := '長字符串'; insert into article(id,title,content) values(1,'標題',content ); update article set content = content where id = 1; end;
緣由分析:sql在執行以前會把全部字符類型的數據轉換成VARCHAR2類型,而VARCHAR2類型的最大長度爲4000,因此當字符串超過這個長度就會轉換失敗。class