我需要在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;
答案 0 :(得分:2)
在PL / SQL和SQL中,'a value'
是文本文字,the SQL documentation表示:
文本文字具有
CHAR
和VARCHAR2
数据类型的属性:
在表达式和条件内,Oracle通过使用空白填充的比较语义进行比较,将文本文字视为数据类型为
CHAR
。文本文字的最大长度为4000字节。
或针对PL/SQL:
字符串文字最多可容纳32,767个字符。
将您的'text with 2 million characters'
分成4k或32k的大块,然后附加每个大块。