Forum OpenACS Q&A: Re: Inserting a long string constant into a clob from plsql?

If you use the Oracle driver (most probably you do if you use OpenACS or ACS with Oracle) you can simply say:
db_exec_plsql add_record {
begin
  1 := my_proc.new_record(
  description => empty_clob()
  ...
  );
end;
}

# Set long description (use CLOB)
db_dml set_description {
update my_table set
  description = empty_clob()
where id=:id returning description into :1
} -clobs [list $description]

This way, you don't have to worry about PL/SQL's limitation of 32Kbytes for a varchar2 variable (Oracle driver takes care of that).