Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> LOB Append

LOB Append

From: hamid alavi <alavihamid_at_gmail.com>
Date: Thu, 23 Dec 2004 08:22:04 -0800
Message-ID: <64fa23f7041223082227372bd0@mail.gmail.com>


List,
I have a store procedure for append LOB, when I pass data as varchar2 is working fine but whaen I pass data as CLOB it's failed any idea?? Appreciate.
Here is my Store Procedure:

ORA-22297: warning: Open LOBs exist at transaction commit time

CREATE OR REPLACE PROCEDURE Sp_Append_Blob(FILE_BLOB IN CLOB , batch_id IN FILE_BLOB.BATCH_FILE_ID%TYPE) AS

lob_loc		CLOB;
v_curr_val	INTEGER;
buffer		VARCHAR2(32000);
amount		BINARY_INTEGER :=4000;
position	INTEGER:=1;
I		INTEGER;
v_size		BINARY_INTEGER;
v_loop		INTEGER;


BEGIN SELECT LENGTH(FILE_BLOB ) INTO amount FROM dual ;

SELECT file_size INTO v_size FROM FILE_BLOB WHERE batch_file_id = batch_id ;

SELECT file_content INTO lob_loc FROM FILE_BLOB WHERE batch_file_id = batch_id FOR UPDATE;

DBMS_LOB.OPEN(lob_loc, DBMS_LOB.LOB_READWRITE);
DBMS_LOB.WRITEAPPEND (lob_loc,amount,FILE_BLOB);
DBMS_LOB.CLOSE(lob_loc);
  

COMMIT; v_size := v_size + amount;

UPDATE FILE_BLOB SET file_size = v_size
WHERE batch_file_id = batch_id;

COMMIT; EXCEPTION
WHEN OTHERS THEN
         DBMS_OUTPUT.PUT_LINE('Operation failed End of Data'); END;
/

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Dec 23 2004 - 10:17:31 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US