Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> LOB Append
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-lReceived on Thu Dec 23 2004 - 10:17:31 CST
![]() |
![]() |