Is it possible to insert into a BLOB
column in oracle using sqldeveloper?
i.e. something like:
insert into mytable(id, myblob) values (1,'some magic here');
Yes, it's possible, e.g. using the implicit conversion from RAW to BLOB:
insert into blob_fun values(1, hextoraw('453d7a34'));
453d7a34
is a string of hexadecimal values, which is first explicitly converted to the RAW data type and then inserted into the BLOB column. The result is a BLOB value of 4 bytes.
To insert a VARCHAR2
into a BLOB
column you can rely on the function utl_raw.cast_to_raw
as next:
insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here'));
It will cast your input VARCHAR2
into RAW
datatype without modifying its content, then it will insert the result into your BLOB
column.
More details about the function utl_raw.cast_to_raw
- insert into mytable(id, myblob) values (1,EMPTY_BLOB);
- SELECT * FROM mytable mt where mt.id=1 for update
- Click on the Lock icon to unlock for editing
- Click on the ... next to the BLOB to edit
- Select the appropriate tab and click open on the top left.
- Click OK and commit the changes.
来源:https://stackoverflow.com/questions/7489359/how-can-i-insert-into-a-blob-column-from-an-insert-statement-in-sqldeveloper