oracle插入CLOB類型超過4000個字符報ORA-01704錯的解決方法

解決方案,聲明一個變量

DECLARE v_sql CLOB;
BEGIN
v_sql := RPAD('*', 4000, '*') || RPAD('*', 4000, '*');
INSERT INTO TEST(STATUS, BODY) VALUES('complete', v_sql);
COMMIT;
END;

原因

因爲oracle在插入CLOB的數據默認會以varchar2的類型插入,所以當超過4000個字符時就會報ORA-01704的錯誤了(varchar2類型的字符長度是4000,注意:oracle對漢字的存儲佔3個字符)

參考文章

oracle插入CLOB類型超過4000個字符報ORA-01704錯的解決方法及其它相關場景解決方案

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章