錯誤提示: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; /