Sqldeveloperを使用してOracleのBLOB
列に挿入することは可能ですか?
つまり、次のようなものです:
insert into mytable(id, myblob) values (1,'some magic here');
はい、可能です。 RAWからBLOBへの暗黙的な変換の使用:
insert into blob_fun values(1, hextoraw('453d7a34'));
453d7a34
は16進数値の文字列で、最初にRAWデータ型に明示的に変換され、次にBLOB列に挿入されます。結果は4バイトのBLOB値です。
VARCHAR2
をBLOB
列に挿入するには、次のように関数utl_raw.cast_to_raw
を使用できます。
insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here'));
内容を変更せずに入力VARCHAR2
をRAW
データ型にキャストし、結果をBLOB
列に挿入します。
関数の詳細 utl_raw.cast_to_raw