如何插入200万个字符?

时间:2018-10-26 21:19:34

标签: oracle oracle11g oracle10g

我需要在Oracle数据库中插入200万个字符,但是当我尝试使用CLOB进行插入时,会出现错误,因为它很长。 如何在一个字段中插入200万个字符?

CREATE TABLE TABLA_CLOB(id number, valor CLOb default EMPTY_CLOB());
insert into TABLA_CLOB(id, valor) values (1,'DOCUMENT: ');

DECLARE
  v_clob CLOB;
BEGIN
  SELECT valor into v_clob from TABLA_CLOB where id=1 for update;
  dbms_lob.writeappend(v_clob,200,'text with 2 million characters');
  DBMS_OUTPUT.PUT_LINE(v_clob);
  COMMIT;
END;

1 个答案:

答案 0 :(得分:2)

在PL / SQL和SQL中,'a value'是文本文字,the SQL documentation表示:

  

文本文字具有CHARVARCHAR2数据类型的属性:

     
      
  • 在表达式和条件内,Oracle通过使用空白填充的比较语义进行比较,将文本文字视为数据类型为CHAR

  •   
  • 文本文字的最大长度为4000字节。

  •   

或针对PL/SQL

  

字符串文字最多可容纳32,767个字符。

将您的'text with 2 million characters'分成4k或32k的大块,然后附加每个大块。