首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新oracle中JSON键的值

问更新oracle中JSON键的值
EN

Stack Overflow用户
提问于 2021-02-03 13:37:22
回答 1查看 454关注 0票数 0

我正在使用Oracle SQL Developer &希望在JSON中更新特定键的值。

我使用以下查询:

代码语言:javascript
复制
   update M  
  set  OBJECT = json_mergepatch (   
     OBJECT, '{ "$.ABC.DATA.WORKFLOW_STATUS.ABC" : "MONIKA" }' 
   ) WHERE KEY_1 = '121';

输出:错误报告

SQL错误: ORA-00904:"JSON_MERGEPATCH":无效标识符00904。00000 - "%s:无效标识符“

请给我一个正确的查询建议。

EN

回答 1

Stack Overflow用户

发布于 2021-02-03 14:00:10

假设您要更新的JSON的结构类似于以下内容:

代码语言:javascript
复制
CREATE TABLE test_data
AS
    SELECT '121' AS key_1, '{
    "ABC": {
        "WORKFLOW_STATUS": {
            "ABC": "some value",
            "XYZ": 5.23
        },
        "OTHER": "fancy text"
    },
    "DEF": 123
}' AS object_val FROM DUAL
    UNION ALL
    SELECT '122' AS key_1, '{
    "ABC": {
        "WORKFLOW_STATUS": {
            "ABC": "other value",
            "XYZ": 2
        },
        "OTHER": "cool text"
    },
    "DEF": 999
}' AS object_val FROM DUAL;

更新JSON路径$.ABC.DATA.WORKFLOW_STATUS.ABC的正确语法如下所示:

代码语言:javascript
复制
UPDATE test_data
   SET object_val = json_mergepatch (object_val, '{"ABC":{"WORKFLOW_STATUS":{"ABC":"MONIKA"}}}')
 WHERE key_1 = '121';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66028683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档