Skip to content

Instantly share code, notes, and snippets.

@cwhite92
Last active August 29, 2015 14:09
Show Gist options
  • Save cwhite92/63c1a834e64aa06eea51 to your computer and use it in GitHub Desktop.
Save cwhite92/63c1a834e64aa06eea51 to your computer and use it in GitHub Desktop.
create_blob_thumbnail procedure
CREATE OR REPLACE PROCEDURE create_blob_thumbnail (p_image_id IN INTEGER) IS
l_orig ORDSYS.ORDImage;
l_thumb ORDSYS.ORDImage;
l_blob_thumb BLOB;
BEGIN
-- lock row
SELECT image
INTO l_orig
FROM images
WHERE image_id = p_image_id FOR UPDATE;
l_thumb := ORDSYS.ORDImage.Init();
dbms_lob.createTemporary(l_thumb.source.localData, true);
ORDSYS.ORDImage.processCopy(
l_orig,
'maxscale=128 128',
l_thumb
);
UPDATE images
SET thumbnail = l_thumb.source.localData
WHERE image_id = p_image_id;
dbms_lob.freeTemporary(l_thumb.source.localData);
COMMIT;
END;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment