[英]How to update the nested array in json using oracle
update sb_layout_defn
set SB_LAYOUT_DEFN_DATA = json_transform (
SB_LAYOUT_DEFN_DATA,
replace '$.filterDefaults.defaultValue' = 'FIRST'
)
where json_exists(
sb_layout_defn.SB_LAYOUT_DEFN_DATA,
'$?(@.filterDefaults.defaultValue=="SECOND")'
);
"screenFilterDefaultDefn":[
{
"id":"art-group-id-1",
"collectionId":"ADVENTURE_WORKS",
"filterDefaults":[
{
"id":"ART-FILTER-DEF-0",
"defaultValue":"SECOND"
},
{
"id":"ART-FILTER-DEF-1",
"defaultValue":"PENULT"
}
]
}
]
我需要更新此中的默認值..
您可以使用JSON_TRANSFORM
語句更新filterDefaults
的第一個數組元素的值,如下所示:
UPDATE sb_layout_defn SET SB_LAYOUT_DEFN_DATA = JSON_TRANSFORM(SB_LAYOUT_DEFN_DATA, SET '$.screenFilterDefaultDefn[0].filterDefaults[0].defaultValue' = 'FIRST' );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.