Oracle - Как объединить таблицы с данными JSON? - PullRequest
0 голосов
/ 24 апреля 2018

Я хочу создать представление, которое нужно выбрать из множества таблиц, одной из которых является таблица с данными JSON.Итак, допустим, у него есть определение, подобное этому

CREATE TABLE    
    PERSON    
    (    
        ID RAW(16) NOT NULL,    
        OBJECT CLOB,    
        CONSTRAINT JSON_DOCUMENTS_PK PRIMARY KEY (ID),    
        CONSTRAINT JSON_DOCUMENTS_JSON CHECK (object IS JSON (STRICT))    
    ); 

И данные в нем могут быть такими, как в этом примере

INSERT INTO person (id, object)    
VALUES (SYS_GUID(),    
        '{"data" : {    
          "FirstName"      : "Adam",    
          "LastName"       : "Doe",    
          "Job"            : "Clerk",    
          "DateOfBirth"    : "01-JAN-1980",    
          "Active"         : true    
         }}');

Я хочу объединить его с

CREATE TABLE Salary (
    LastName varchar(255),
    FirstName varchar(255),
    Salary number(10) 
);

Я не видел пример, который напрямую это делал.В основном, скажем, мне нужны зарплаты активных людей в плоском представлении.Нужно ли создавать плоское представление таблицы JSON и присоединяться к нему или использовать предложение WITH?

1 Ответ

0 голосов
/ 24 апреля 2018

Да, создание отдельного представления со столбцами (id, имя, фамилия, задание, dob, activestaus) для данных json каждого человека хорошо в этом случае. Будет проще объединить зарплату и новое представление personData, чтобы получить объединенный результат. Я не думаю, что есть другой способ добиться объединения таблицы с данными clob json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...