Oracle 解決【ORA-01704:字符串文字太長】(轉)


錯誤提示:oracle在toad中執行一段sql語句時,出現錯誤‘ORA-01704:字符串文字太長’。如下圖:

原因:一般為包含有對CLOB字段的數據操作。如果CLOB字段的內容非常大的時候,會導致SQL語句過長。隱式轉換:oracle默認把字符串轉換成varchar2類型,而這個字符串的長度,又比4000大,所以會報ora-01704錯誤。說得通俗一點,就是兩個單引號之間的字符不能超過4000。

解決辦法:使用PL/SQL語法,采取綁定變量的方式解決,而不是直接拼接SQL

DECLARE  
  clobValue 表名.字段名%TYPE;  
BEGIN  
  clobValue := 'XXX'; --字段內容  
  UPDATE 表名 T SET T.字段名 = clobValue WHERE 條件;  
  COMMIT;  
END;  
/

參考網址:Oracle 解決【ORA-01704:字符串文字太長】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM