До 19c, если вы хотите изменить какие-либо значения в документе JSON, вы должны заменить все это:
create table t (
doc varchar2(100)
check ( doc is json )
);
insert into t values ('{
"changeMe" : "to null",
"leaveMe" : "alone"
}');
update t
set doc = '{
"changeMe" : null,
"leaveMe" : "alone"
}';
select * from t;
DOC
{
"changeMe" : null,
"leaveMe" : "alone"
}
Обратите внимание, что когда вы переходите к 19c и используете json_mergepatch
, настройкаатрибут null
удаляет его из документа:
update t
set doc = json_mergepatch (
doc,
'{
"changeMe" : null
}');
select * from t;
DOC
{"leaveMe":"alone"}