Hi everybody,

This is my problem :

one table with a long column.
one table with a lob column.

I want to concat some of rows from the first table in the second one.

I write this procedure :
PROCEDURE ADD_LONG2LOB (pio_res IN OUT CLOB, pi_add IN long)
IS
v_lob_add CLOB;
v_size integer;
BEGIN
IF pi_add IS NOT NULL THEN
dbms_lob.CREATETEMPORARY(v_lob_add,true,dbms_lob.call);
select vsize(pi_add) into v_size from dual;
dbms_lob.WRITE(v_lob_add,v_size,1,pi_add);
dbms_lob.APPEND(pio_res,v_lob_add);
END IF;
EXCEPTION
WHEN OTHERS THEN
Raise_Application_Error('-20001','Error PROCEDURE ADD_LONG2LOB');
END ADD_LONG2LOB;

It works except with some rows. For these rows, the function vsize doesn't work.

Could you post a workaround for this?

A very quick reply would be greatly appreciated.

Regards,
SWA