如何从 sqldeveloper 中的插入语句插入 BLOB 列?

问题描述 投票:0回答:4

是否可以使用sqldeveloper插入到oracle中的

BLOB
列?

即像这样的东西:

insert into mytable(id, myblob) values (1,'some magic here');
oracle blob oracle-sqldeveloper
4个回答
59
投票

要将

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


52
投票

是的,这是可能的,例如使用从 RAW 到 BLOB 的隐式转换:

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

453d7a34
是一个十六进制值的字符串,它首先显式转换为RAW数据类型,然后插入到BLOB列中。结果是 4 字节的 BLOB 值。


0
投票

使用SQL开发者 您可以使用这样的插入添加记录

插入 MY_TABLE (KEYSTRING,BLOB) 值 (123, '');

之后,您可以将 blob 内容(例如大于 4000 个字符的大字符串)保存到 file.txt 中

从 SQL DEVELOPER 上传

  • 打开TABLE编辑工具(可以通过“查找数据库对象”工具中搜索表来打开它)
  • 进入“数据”选项卡
  • 搜索记录123
  • 通过铅笔图标编辑 BLOB 列值

  • 加载本地数据并上传file.txt

-1
投票
  1. 插入 mytable(id, myblob) 值 (1,EMPTY_BLOB);
  2. SELECT * FROM mytable mt where mt.id=1 进行更新
  3. 单击锁定图标解锁以进行编辑
  4. 单击 BLOB 旁边的 ... 进行编辑
  5. 选择适当的选项卡,然后单击左上角的“打开”。
  6. 单击“确定”并提交更改。
© www.soinside.com 2019 - 2024. All rights reserved.