在Oracle SQL中更新JSON数据
这是我的JSON数据中的一个oracle SQL列之一“ JSONCOL”的表中的一个名为“ JSontable”的表中,
{
"Company": [
{
"Info": {
"Address": "123"
},
"Name": "ABC",
"Id": 999
},
{
"Info": {
"Address": "456"
},
"Name": "XYZ",
"Id": 888
}
]
}
我正在寻找 update> update
查询以更新具有基于新值的“名称”的所有值在特定的“ ID”值上。
提前致谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在Oracle 19中,您可以使用
JSON_MERGEPATCH
:对于示例数据:
然后,在
更新
之后,该表包含:db<> fiddle 在这里
From Oracle 19, you can use
JSON_MERGEPATCH
:Which, for the sample data:
Then after the
UPDATE
, the table contains:db<>fiddle here
您可以在 replace()中使用 json_table()函数,以更新 name 的值(来自 abc to def )对于特定的ID值( 999 ),例如
19那个身份表和JSON值的值( ID )在整个表和每个单独的JSON值中都是唯一的。
You can use REPLACE() within JSON_TABLE() function in order to update the value of the Name(from ABC to DEF) for a specific Id value(999) such as
for the DB version prior to
19
provided that the identity values(id) of the table and of the JSON values are unique throughout the table and each individual JSON value, respectively.Demo