sql >> Database teknologi >  >> RDS >> Oracle

Manipulering af JSON-data med SQL i Oracle

Du kan bruge PUT metode til JSON_OBJECT_T for at tilføje/indstille en enkelt værdi.

Forudsat at du opdaterer en enkelt række (med en where klausul), kan du bruge denne blok. Hvis der er flere rækker, skal du bruge en løkke eller markør.

 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. Lagret procedure hænger tilsyneladende uden forklaring

  2. MySQL sum, tæl med gruppe efter og joins

  3. Find afhængige objekter til en tabel eller visning

  4. Bruger Tomcat cachelagrede versioner af pl/sql-moduler?