You are on page 1of 2

CREATE TABLE test_blob (ID INTEGER,blob_col BLOB);

DECLARE
v_src_loc BFILE := BFILENAME ('TEST_DIR', 'mytest.PDF');
v_amount INTEGER;
v_b BLOB;
BEGIN
DBMS_LOB.OPEN (v_src_loc, DBMS_LOB.lob_readonly);
v_amount := DBMS_LOB.getlength (v_src_loc);
INSERT INTO test_blob
VALUES (2, EMPTY_BLOB ())
RETURNING blob_col
INTO v_b;
DBMS_LOB.loadfromfile (v_b, v_src_loc, v_amount);
DBMS_LOB.CLOSE (v_src_loc);
END;
/
DECLARE
v_src_loc BFILE := BFILENAME ('APPLPTMP', 'abc.jpg');
v_amount INTEGER;
v_b BLOB;
BEGIN
DBMS_LOB.OPEN (v_src_loc, DBMS_LOB.lob_readonly);
v_amount := DBMS_LOB.getlength (v_src_loc);
INSERT INTO temp_images
VALUES (2,'test', EMPTY_BLOB ())
RETURNING image
INTO v_b;
DBMS_LOB.loadfromfile (v_b, v_src_loc, v_amount);
DBMS_LOB.CLOSE (v_src_loc);
COMMIT;
END;
/
create or replace procedure temp_logo_proc(p_image_nm in varchar2
,p_id in number)
IS
v_src_loc BFILE := BFILENAME ('APPLPTMP', p_image_nm||'.jpg');
v_amount INTEGER;
v_image BLOB;
BEGIN
DBMS_LOB.OPEN (v_src_loc, DBMS_LOB.lob_readonly);
v_amount := DBMS_LOB.getlength (v_src_loc);
INSERT INTO temp_images
VALUES (p_id,p_image_nm, EMPTY_BLOB ())
RETURNING image
INTO v_image;
DBMS_LOB.loadfromfile (v_image, v_src_loc, v_amount);

DBMS_LOB.CLOSE (v_src_loc);
COMMIT;
END;
/

You might also like