Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将键追加到JSON_OBJ_列中-Oracle_Sql_Json_Oracle_Plsql_Oracle12c - Fatal编程技术网

Sql 将键追加到JSON_OBJ_列中-Oracle

Sql 将键追加到JSON_OBJ_列中-Oracle,sql,json,oracle,plsql,oracle12c,Sql,Json,Oracle,Plsql,Oracle12c,在Oracle12c中,我创建了一个包含json对象的表 想象下一个示例: 身份证件 日期 json_obj 1. 2021年5月1日 {键1:val1,键2:val2} 如果您的DB版本是12R2+,那么您可以连续使用PARSE()和PUT()作为对象类型JSON\u object\T,然后应用标准的UPDATE语句,例如 DECLARE jobj JSON_OBJECT_T; jdoc tab.json_obj%TYPE; BEGIN SELECT json_obj IN

在Oracle12c中,我创建了一个包含json对象的表

想象下一个示例:

身份证件 日期 json_obj 1. 2021年5月1日 {键1:val1,键2:val2}
如果您的DB版本是12R2+,那么您可以连续使用
PARSE()
PUT()
作为对象类型
JSON\u object\T
,然后应用标准的
UPDATE
语句,例如

DECLARE
  jobj JSON_OBJECT_T;
  jdoc tab.json_obj%TYPE;
BEGIN
  SELECT json_obj
    INTO jdoc
    FROM tab
   WHERE id = 1;

  jobj := JSON_OBJECT_T.PARSE( jdoc );
  jobj.PUT( 'key_2', 'val_22' );
  jobj.PUT( 'key_3', 'val_3' );  
  jdoc := jobj.TO_CLOB();

  DBMS_OUTPUT.PUT_LINE( jdoc );
  
  UPDATE tab
     SET json_obj = jdoc
   WHERE id = 1;
END;
/