Czy jest możliwe wstawienie do kolumny BLOB
w Oracle za pomocą programu sqldeveloper?Jak wstawić do kolumny BLOB z instrukcji insert w sqldeveloper?
czyli coś jak:
insert into mytable(id, myblob) values (1,'some magic here');
Czy jest możliwe wstawienie do kolumny BLOB
w Oracle za pomocą programu sqldeveloper?Jak wstawić do kolumny BLOB z instrukcji insert w sqldeveloper?
czyli coś jak:
insert into mytable(id, myblob) values (1,'some magic here');
Tak, jest to możliwe, na przykład stosując niejawny konwersji RAW do BLOB:
insert into blob_fun values(1, hextoraw('453d7a34'));
453d7a34
jest ciąg wartości w kodzie szesnastkowym, który najpierw przekształca się w wyraźnie RAW typu danych, a następnie wkłada się w kolumnie BLOB. Wynikiem jest wartość BLOB 4 bajty.
Aby wstawić VARCHAR2
do kolumny BLOB
można polegać na funkcji utl_raw.cast_to_raw
jako następny, będzie oddać swój wkład VARCHAR2
do RAW
typu danych bez modyfikowania jego zawartości, to będzie wstawić wynik w kolumnie BLOB
:
insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here'));
Więcej szczegółów na temat funkcji utl_raw.cast_to_raw
Świetnie !!! pracował dla mnie Dzięki za milion –
Niestety to nie będzie działać, jeśli BLOB jest większy niż 2000 bajtów - ponieważ nie jest to ograniczenie w Oracle, które stały char nie może mieć więcej niż 4000 znaków. –