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

ORACLE - JSON til nøgleværdipartabel

12.2 indeholder et sæt PL/SQL-objekter, der kan bruges til at bygge en DOM-lignende struktur af et JSON-dokument. Du kan derefter udtrække nøglelister osv. ved hjælp af metoder på objekterne. Se i 12.2-dokumentet efter JSON_OBJECT_T, JSON_ARRAY_T osv., som kan bruges på denne måde.

SQL> create or replace type NV_PAIR_T as object (
  2    NAME  VARCHAR2(32),
  3    VALUE VARCHAR2(32)
  4  )
  5  /

Type created.

SQL> create or replace type NV_PAIR_TABLE as TABLE of NV_PAIR_T
  2  /

Type created.

SQL> create or replace function GET_KEY_VALUES(P_JSON_DOC VARCHAR2)
  2  return NV_PAIR_TABLE PIPELINED
  3  as
  4    JO JSON_OBJECT_T := JSON_OBJECT_T(P_JSON_DOC);
  5    JO_KEYS JSON_KEY_LIST := JO.get_keys();
  6  begin
  7
  8    for i in 1..JO_KEYS.count loop
  9      pipe row (NV_PAIR_T(JO_KEYS(i),JO.get_string(JO_KEYS(i))));
 10    end loop;
 11  end;
 12  /

Function created.

SQL> select *
  2   from TABLE(GET_KEY_VALUES('{"A":"AA", "B":"BB", "C":"CC"}'))
  3  /
A                                AA
B                                BB
C                                CC

SQL>

Hjælper dette



  1. Anvendes MySQL LIMIT før eller efter ORDER BY?

  2. Hvordan kan jeg indstille en String[]-parameter til en indbygget forespørgsel?

  3. Studerer MySQL, SQLite-kildekode for at lære om RDBMS-implementering

  4. Har Oracle NetSuite Advanced PDF-skabelonen Group by og SUM-funktioner?