Oracle
 sql >> Base de données >  >> RDS >> Oracle

Obtenir BLOB à partir de la colonne BFILE dans Oracle

Dans Oracle, le BFILE colonne est un localisateur ou une référence pour le fichier externe. Il contient les informations sur le répertoire et le nom du fichier. Ici, je donne un exemple de code PL/SQL pour obtenir BLOB depuis le BFILE colonne de localisateur dans Oracle.

Exemple de procédure PL/SQL - Obtenir BLOB à partir de la colonne BFILE

Declare
  l_bfile  BFILE;
  l_blob   BLOB;

  l_dest_offset INTEGER := 1;
  l_src_offset  INTEGER := 1;
BEGIN

  Select your_bfile_column into l_bfile from yourTable
    where yourCondition;
  DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
  
  DBMS_LOB.loadblobfromfile (
    dest_lob    => l_blob,
    src_bfile   => l_bfile,
    amount      => DBMS_LOB.lobmaxsize,
    dest_offset => l_dest_offset,
    src_offset  => l_src_offset);
  DBMS_LOB.fileclose(l_bfile);

  COMMIT;

END;

La variable l_blob contient le BLOB extrait du BFILE colonne