我需要将JSON数据插入Oracle DB表BLOB列,还需要从表中选择BLOB列值?
这是我要插入的查询:
插入到table_Name值('Test','test1',UTL_RAW.cast_to_raw ({"JSON data"}((
如何选择?此外,在插入大型 JSON 对象时,它会抛出错误:"PL/SQL:数字或值错误:原始变量长度太长">
Try this:
create table demo
( id int primary key,
theBlob blob
);
INSERT INTO demo (id) values (1);
update demo set theBlob = utl_raw.cast_to_raw('Hello World') where id = 1;
commit;
select * from demo where id = 1;
select utl_raw.cast_to_varchar2(dbms_lob.substr(theBlob))
from demo
where ID = '1';
> 该cast_to_raw将VARCHAR2作为参数,并且字符串太大。 您需要打开 BLOB 并将其分段写入。 这一切都在DBMS_LOB包中。