是否有任何方法使用通用SQL将超过4000个字符的字符串插入CLOB

时间:2017-08-27 10:28:11

标签: sql oracle clob ora-01704

有没有办法使用通用sql将长度超过4000个字符的字符串插入CLOB

新栏目已添加:

ALTER TABLE MESSAGES ADD (MESSAGE_CLOB CLOB);

INSERT INTO TF_STP_MESSAGES
           (ID,
            MESSAGE_CLOB)
    VALUES (MSG_SEQ.NEXTVAL,
            TO_CLOB ('STRING WITH 10000 CHARACHTER'));

Oracle返回以下消息:

  

PL / SQL:ORA-01704:字符串文字太长

我必须通过SQL

插入它

请告知。

1 个答案:

答案 0 :(得分:0)

您需要使用匿名块(或过程)来运行insert语句,方法是声明为CLOB变量并在插入中使用它。

DECLARE

v_message_clob CLOB := 'STRING WITH 10000 CHARACTERS';

BEGIN 
INSERT INTO TF_STP_MESSAGES
           (ID,
            MESSAGE_CLOB)
    VALUES (MSG_SEQ.NEXTVAL,
            v_message_clob);
END;
/