Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compare BLOB against other BLOBs in Oracle database

Tags:

sql

oracle

blob

How to check if there is a duplicate of a blob in a database. I have documents table in the database, however I'm not sure how to check if one of them has a duplicate. I know you're supposed to use dbms_lob.compare function but after reading a few threads and articles on the topic I still do not understand this.

Documents table has document_id column and and data(blob) column. How can I possibly check if document_id = 1 has a duplicate?

like image 813
hellomate Avatar asked Dec 24 '22 12:12

hellomate


1 Answers

See other similar answers, like this one. "If dbms_lob.compare(lob1, lob2) = 0, they are identical."

select *
from documents dup
join documents orig on orig.document_id = 1
    and dup.document_id <> orig.document_id
where dbms_lob.compare(orig.blob, dup.blob) = 0;
like image 199
kfinity Avatar answered Dec 30 '22 00:12

kfinity