Search notes:
Oracle: Create LOBs of arbitrary length
tq84_create_clob
is a function that creates a
clob
of arbitrary length.
create or replace function tq84_create_clob(len integer) return clob
authid definer
as
lob clob;
remaining_len integer := len;
begin
lob := lpad('*', least(remaining_len, 4000), '*');
remaining_len := remaining_len - 4000;
while remaining_len > 0 loop
dbms_lob.writeappend(lob, least(remaining_len, 4000), lpad('*', 4000, '*'));
remaining_len := remaining_len - 4000;
end loop;
return lob;
end tq84_create_clob;
/
create table tq84_lob_len (
len integer,
lob clob
);
begin
insert into tq84_lob_len values ( 1234, tq84_create_clob( 1234));
insert into tq84_lob_len values (999999, tq84_create_clob(999999));
insert into tq84_lob_len values ( 0, tq84_create_clob( 0));
insert into tq84_lob_len values ( null, tq84_create_clob( null));
commit;
end;
/
select
len,
length(lob),
dbms_lob.getlength(lob)
from
tq84_lob_len;
drop table tq84_lob_len;