Code:
declare
    d clob;
    text varchar2(32767);
    len integer;
begin
    text:=rpad('-',32767,'-');
    len:=length(text);
    insert into test(a,b)
      values(2,EMPTY_CLOB()) returning b INTO d;
    dbms_lob.write(d,len,1,text);
    commit;
end;
/
The d variable is of the CLOB type, it's a LOB locator and the direct update with a char value is not possible.

See also http://otn.oracle.com/docs/products/...a76940/toc.htm