Oracle插入或修改 報ORA-01704: 文字字符串太長

今天在操做數據庫數據的時候,想要插入一條某個字段是一個很長的字符串(好比一篇文章)的數據,例如: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

相關文章
相關標籤/搜索