A INSERT statement initializes a BLOB column, and then it returns the locator through the returning into clause into a local variable, the local variable is passed by reference and has a OUT mode of operation.
The locator points to where the physical contents of a BLOB are stored and provides a reference to a private work area in the SGA.
This work area allows us to write new chunks of data.
IF dbms_lob.fileexists(src_clob) = 1 AND NOT dbms_lob.isopen(src_clob) = 1 THEN src_clob_size := dbms_lob.getlength(src_clob); dbms_lob.open(src_clob, DBMS_LOB.
LOB_READONLY); END IF; -- Assign dynamic string to statement.
-- the locator (pointer) to the blob will assigned to des_blob EXECUTE IMMEDIATE stmt USING OUT des_blob; -- Read and write file to BLOB, close source file and commit.'RETURNING '