2017-08-27 72 views
0

有没有使用通用SQL插入一个字符串超过4000个字符长成CLOB是否有使用通用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

请指教。

+0

看看你是否可以在这里找到答案:https://community.oracle.com/thread/1068414 .Surprisingly似乎是完全一样的问题。 – sagi

回答

0

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

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; 
/
相关问题