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;

See also

clob and blobs

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1759044791, '216.73.216.5', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/databases/Oracle/SQL/data-types/lob/create-lob-of-arbitrary-length(80): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78