Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách cập nhật cột JSON trong oracle 12.1

Trước 19c, nếu bạn muốn thay đổi bất kỳ giá trị nào trong tài liệu JSON, bạn phải thay thế toàn bộ:

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"
}  

Lưu ý rằng khi bạn đến 19c và sử dụng json_mergepatch , đặt một thuộc tính thành null xóa nó khỏi tài liệu:

update t
set    doc = json_mergepatch ( 
  doc, 
  '{
    "changeMe" : null
  }');

select * from t;

DOC                   
{"leaveMe":"alone"}   



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:Chuyển đổi số tiền tệ thành từ sử dụng PL / SQL

  2. Cách xuất kết quả truy vấn sang tệp .txt khi sử dụng SQLcl (Oracle)

  3. WSJDBCConnection không bao bọc các đối tượng kiểu Oracle jdbc Connection

  4. Tuyên bố Oracle

  5. Lỗi ORA-12514 sau khi khởi động lại máy chủ