簡體   English   中英

Oracle-如何使用JSON數據聯接表?

[英]Oracle - How to join tables with JSON data?

我想創建一個需要從許多表中選擇的視圖,其中之一是其中包含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子句?

是的,在這種情況下,最好為每個Person的json數據創建具有列(id,名字,姓氏,作業,dob,activestaus)的單獨視圖。 加入薪水和新的personData視圖以獲取合並結果會更簡單。 我認為沒有另一種方法可以實現使用Clob json數據聯接表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM