如何在 CLOB 类型的列中插入超过 4000 个字符?
--create test table s
create table s
(
a clob
);
insert into s values('>4000 char')
结果报错:我想一次插入> 4000 个字符的字符串。我该怎么做?是否有可能?
当我阅读 Oracle 引用时,
CLOB
最多可以节省 4GB(Gigabyte)? 最佳答案
一次插入的最大值为 4000 个字符(Oracle 中的最大字符串文字)。但是,您可以使用 lob 函数 dbms_lob.append()
将(最多)4000 个字符的块附加到 clob:
CREATE TABLE don (x clob);
DECLARE
l_clob clob;
BEGIN
FOR i IN 1..10
LOOP
INSERT INTO don (x) VALUES (empty_clob()) --Insert an "empty clob" (not insert null)
RETURNING x INTO l_clob;
-- Now we can append content to clob (create a 400,000 bytes clob)
FOR i IN 1..100
LOOP
dbms_lob.append(l_clob, rpad ('*',4000,'*'));
--dbms_lob.append(l_clob, 'string chunk to be inserted (maximum 4000 characters at a time)');
END LOOP;
END LOOP;
END;
关于Oracle CLOB 不能插入超过 4000 个字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18394691/