Oracle - 如何使用JSON数据连接表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle - 如何使用JSON数据连接表?相关的知识,希望对你有一定的参考价值。

我想创建一个需要从许多表中选择的视图,其中一个表是包含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子句?

答案

是的,在这种情况下,为每个人的json数据创建具有列(id,firstname,lastname,job,dob,activestaus)的单独视图是很好的。加入salary和new personData视图以获得连接结果会更简单。我认为还没有另一种方法可以实现使用clob json数据连接表。

以上是关于Oracle - 如何使用JSON数据连接表?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 如何扩展表空间

Oracle 如何扩展表空间

oracle表之间的连接

oracle数据库多表连接查询

如何在 Oracle 身份验证中使用 MS Access 连接字符串

PLSQL ORACLE:表变量之间的内连接