2011-09-20 7 views

risposta

29

Sì, è possibile, ad esempio, utilizzando la conversione implicita da RAW a BLOB:

insert into blob_fun values(1, hextoraw('453d7a34')); 

453d7a34 è una stringa di valori esadecimali, che viene prima convertito esplicitamente al tipo di dati RAW e quindi inseriti nella colonna BLOB. Il risultato è un valore BLOB di 4 byte.

+1

Purtroppo questo non funziona se il BLOB è maggiore di 2000 byte - perché c'è una limitazione in Oracle che una costante char non può essere superiore a 4000 caratteri. –

24

Per inserire un VARCHAR2 in una colonna BLOB si può fare affidamento sulla funzione utl_raw.cast_to_raw come prossimo, sarà lanciare la vostra ingresso VARCHAR2 in RAW tipo di dati senza modificarne il contenuto, allora sarà inserire il risultato nel vostro BLOB colonna:

insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here')); 

Maggiori dettagli sulla funzione utl_raw.cast_to_raw

+2

Fantastico !!! ha funzionato per me Grazie mille –

Problemi correlati