A
RAW限制为2000个字节。如果您的数据长于此长度,则需要将其存储在a中
CLOB,然后将其转换
CLOB为a
BLOB,但是不幸的是,该
string_to_raw函数要比该函数复杂一点。假设您可以将整个字符串分配给一个
CLOB变量,只要该字符串的长度小于32676个字节,该变量就应该起作用,这样的事情将起作用。如果长度超过此长度,则需要逐段写入
CLOB,然后转换为
BLOB。
declare l_blob blob; l_clob clob := rpad('{"foo": {"id": "1", "value": "2", "name": "bob"}}',3200,'*'); l_amt integer := dbms_lob.lobmaxsize; l_dest_offset integer := 1; l_src_offset integer := 1; l_csid integer := dbms_lob.default_csid; l_ctx integer := dbms_lob.default_lang_ctx; l_warn integer;begin dbms_lob.createTemporary( l_blob, false ); dbms_lob.convertToBlob( l_blob, l_clob, l_amt, l_dest_offset, l_src_offset, l_csid, l_ctx, l_warn ); update json_data set data = l_blob;end;/


