Oracle
 sql >> Database >  >> RDS >> Oracle

lettura di più valori da un campo BLOB PL/SQL

Mettendo da parte l'ovvio consiglio di archiviare ogni file come un BLOB separato...

Mi sembra che tu abbia due scelte. Archivia la lunghezza di ogni file da qualche parte e usala per controllare la quantità di dati letti dal BLOB; oppure inserisci un valore delimitatore nel BLOB tra i file. Il delimitatore mi sembra una scelta peggiore:devi scegliere un valore che è garantito non essere presente nei dati del file e devi leggere singoli byte per trovare il delimitatore.

Quindi conserva le lunghezze. E probabilmente i nomi dei file. Il che implica una tabella figlio con una riga per file. Il che ci riporta alla domanda:perché non archiviare semplicemente un BLOB in ciascuna di queste righe, uno per file?