sql >> Databáze >  >> RDS >> Oracle

Manipulace s daty JSON s SQL v Oracle

Můžete použít PUT metoda JSON_OBJECT_T přidat/nastavit jednu hodnotu.

Za předpokladu, že aktualizujete jeden řádek (s where klauzule), můžete použít tento blok. Pokud existuje více řádků, použijte smyčku nebo kurzor.

 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 DEMO



  1. psql nastavil výchozí statement_timeout jako uživatel v postgresu

  2. Jak v MySQL zkopírovat obsah jedné tabulky do jiné tabulky ve stejné databázi?

  3. Jak najít n-tý řádek v MySQL

  4. Psycopg2 nemá rád názvy tabulek, které začínají malým písmenem