解決方案,聲明一個變量
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個字符)