Layer 06

Le funzioni dell pacchetto DBMS_LOB in Oracle

Funzione COMPARE: Permette di confrontare due campi di tipo lob, essa restituisce 0 se in due combaciano. Una restrizione per questa funzione è l’obbligo di confrontare soltanto i campi dello stesso tipo, i CLOB con i CLOB, i BLOB con BLOB ed i BFILE con i BFILE.

dbms_lob.compare(campo_1, campo_2, quanti_byte, offSet_1, offSet2);

Funzione COPY: Copia il contenuto di un campo lob, o parte di esso, in un altro. Si può specificare lo scostamento iniziale sia del sorgente che del destinatario, è inoltre possibile indicare quanti byte copiare.

DBMS_LOB.COPY(destinazione, sorgente, quanti_byte, dest_offset, sorg_offset);

Funzione FILEEXISTS: Ci si può immaginare a che cosa serva, ma non è niente di più sbagliato, infatti questa funzione serve a controlare su un puntatore ad un file punta ad un file effettivamente esistente.

dbms_lob.fileexists(file_loc)

dove file_loc è un putantore (locator) al file. Funzione FILEISOPEN: Stesse modalità della precedente, controlla che un puntatore ad un file sia aperto, se fosse chiuso il collegamento non è detto che il file non sia aperto da un’altro puntatore.

dbms_lob.fileisopen(file_loc)

Funzione GETLENGHT: Restituisce il numero di byte di cui è composto il valore inserito nel campo LOB

select dbms_lob.length(campo_lob) from tabella

Funzione INSTR: Molto simile alla funzione instr per le stringhe impementata in SQL standard, con la differenza che maneggia i file di tipo LOB. Può essere specificato il punto di partenza (in byte) da cui cominciare a cercare e permette anche di indicare quale delle occorrenze, cioè ad esempio voglio sapere in che posizione si trova la 3 volta che compare la parola “aiuto” nel mio campo CLOB.

select dbms_lob.instr(campo_lob,’aiuto’,0,3) from tabella

Funzione SUBSTR: Identica a come si utilizza in SQL Standard. La funzione substr può essere utile anche per altri scopi ad esempio per convertire un dato CLOB in formato stringa (CHAR/VARCHAR2)

SELECT DBMS_LOB.SUBSTR (campo_CLOB, 30, 1) FROM tabella

Dove il primo parametro è il nome della colonna in formato CLOB, il secondo è la lunghezza della stringa che vogliamo ottenere e il terzo è l’offset da cui partiamo.]]>

Nessun commento “Le funzioni dell pacchetto DBMS_LOB in Oracle”