Oracle
 sql >> база данни >  >> RDS >> Oracle

Манипулиране на JSON данни с SQL в Oracle

Можете да използвате PUT метод на JSON_OBJECT_T за добавяне/задаване на една стойност.

Ако приемем, че актуализирате един ред (с where клауза), можете да използвате този блок. Ако има няколко реда, използвайте цикъл или курсор.

 DECLARE
  v_pertags dmo_person.per_tags%TYPE;
  v_json_obj JSON_OBJECT_T;
  v_new_pertags dmo_person.per_tags%TYPE;
BEGIN
  SELECT per_tags
  INTO   v_pertags
  FROM   dmo_person; --where clause
  v_json_obj := TREAT(json_element_t.PARSE(v_pertags) AS json_object_t);
  v_json_obj.PUT('perm_bigboss' , 1);
  v_json_obj.PUT('perm_admin', 0);
  v_new_pertags := v_json_obj.to_string;

UPDATE dmo_person
  SET    per_tags = v_new_pertags; --where clause
END;
/ 

LIVESQL ДЕМО



  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 транзакции между C++ и Java

  2. Заявка за актуализиране - Oracle

  3. Изпълнете функция на Oracle, която връща референтен курсор в C#

  4. Oracle - курсорът, използващ dbms_utility.exec_ddl_statement, не се изпълнява правилно

  5. Алтернатива на sql сървър TOP в oracle