Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Manipulowanie danymi JSON za pomocą SQL w Oracle

Możesz użyć PUT metoda JSON_OBJECT_T aby dodać/ustawić pojedynczą wartość.

Zakładając, że aktualizujesz pojedynczy wiersz (za pomocą where klauzuli), możesz skorzystać z tego bloku. Jeśli jest wiele wierszy, użyj pętli lub kursora.

 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;
/ 

DEMO 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. ORA-04091 — Jak zmienić tabelę, na której uruchamia się wyzwalacz?

  2. REGEXP_INSTR() Funkcja w Oracle

  3. Próbuję znaleźć pojazdy, które są wolne między 2 różnymi datami

  4. Oracle:Lewy połącz bardzo dużą tabelę i ogranicz połączone wiersze do jednego z największą wartością pola

  5. Jak przekazać nazwę schematu i nazwę tabeli jako dane wejściowe, a następnie uzyskać rozmiar pamięci i liczbę wierszy jako dane wyjściowe w plsql?