最近開發中向oracle中存儲長度超過4000的字符串時報錯,本來字符設置的是varchar2(4000),後改爲clob類型,發現還是報錯,百度了下發現因爲oracle在插入CLOB的數據默認會以varchar2的類型插入,所以此法行不通。
解決辦法,通過存儲過程實現。
DECLARE
clobValue 表名.字段名%TYPE;
BEGIN
clobValue := '值'; --字段內容
INSERT INTO 表名(...,字段) VALUES(...,clobValue);
COMMIT;
END;
修改同理
DECLARE
clobValue 表名.字段名%TYPE;
BEGIN
clobValue := '值'; --字段內容
UPDATE 表名 T SET T.字段名 = clobValue WHERE 條件;
COMMIT;
END;