将密钥附加到 JSON_OBJ_COLUMN - Oracle

Posted

技术标签:

【中文标题】将密钥附加到 JSON_OBJ_COLUMN - Oracle【英文标题】:Append Key into JSON_OBJ_COLUMN - Oracle 【发布时间】:2021-05-20 11:36:33 【问题描述】:

在 Oracle 12c 中,我创建了一个带有 json 对象的表。

想象下一个样本:

id date json_obj
1 01-MAY-2021 key_1: val1, key_2: val2

现在我想更新 key_2 值,并将 key_3: val3 添加到与 id 1 相关的同一个 json 对象中。

可以编辑吗?还是我必须覆盖?

【问题讨论】:

【参考方案1】:

如果你的DB版本是12R2+,那么你可以连续使用PARSE()PUT()对象类型JSON_OBJECT_T,然后应用标准的UPDATE语句如 p>

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;
/

【讨论】:

以上是关于将密钥附加到 JSON_OBJ_COLUMN - Oracle的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS API Gateway 中,我可以在不附加 API 密钥的情况下使用使用计划吗?

Kerberos 密钥表文件包含多个条目

将查询字符串附加到 htaccess PDF 重定向 URL

如何使用 id_rsa.pub 密钥在远程服务器上附加授权密钥

KMS 加密 - 本地开发

Terraform 和 AWS:修改现有策略