[英]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.