Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Exportar dados para arquivo JSON no Oracle 11g usando PL/SQL


Neste artigo, estou dando um exemplo para exportar dados para arquivo JSON no Oracle 11g usando PL/SQL.

Siga estas etapas para exportar dados para o arquivo JSON no Oracle 11g

  1. Primeiro, baixe o pacote do utilitário Alexandria PL/SQL do GITHUB usando o seguinte link:Baixe o pacote alexandria_plsql_utility.
  2. Depois de baixar o arquivo zip, extraia-o e encontre o JSON_UTIL_PKG no diretório "alexandria-plsql-utils-master\alexandria-plsql-utils-master\ora".
  3. Instale a especificação e o corpo do pacote JSON_UTIL_PKG em seu esquema
  4. Depois disso, baixe o procedimento PL/SQL "WRITE_CLOB_TO_FILE" no seguinte link:Baixe Write_Clob_To_File.
  5. Instale este procedimento também em seu esquema.

Agora você pode gerar o arquivo JSON da tabela Oracle usando PL/SQL, conforme mostrado no exemplo abaixo.

Exemplo de SQL para JSON do Oracle 11g


No exemplo a seguir, obteremos os dados na variável CLOB usando a função JSON_UTIL_PKG.SQL_TO_JSON e então escreveremos que CLOB tem dados JSON em um FILE usando o procedimento WRITE_CLOB_TO_FILE . Passaremos três parâmetros para o procedimento WRITE_CLOB_TO_FILE:um nome de arquivo, um nome de objeto de diretório e a variável CLOB.
DECLARE
c CLOB;
BEGIN
SELECT json_util_pkg.sql_to_json('select EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO from emp2')
INTO c
FROM DUAL;

WRITE_CLOB_TO_FILE ('emp.json', 'JSON_DIR', c);
END;
/

Agora você pode verificar a localização do objeto de diretório JSON_DIR e encontrará o arquivo JSON conforme mostrado na saída de exemplo abaixo:
{"ROWSET":[{"EMPNO":7369,"ENAME":"SMITH","JOB":"CLERK","MGR":7902,"HIREDATE":"17-DEC-80","SAL":800,"COMM":null,"DEPTNO":21},{"EMPNO":7499,"ENAME":"ALLEN","JOB":"SALESMAN","MGR":7698,"HIREDATE":"20-FEB-81","SAL":1600,"COMM":300,"DEPTNO":30},{"EMPNO":7521,"ENAME":"WARD","JOB":"SALESMAN","MGR":7698,"HIREDATE":"22-FEB-81","SAL":1250,"COMM":500,"DEPTNO":30},{"EMPNO":7566,"ENAME":"JONES","JOB":"MANAGER","MGR":7839,"HIREDATE":"04-FEB-81","SAL":2975,"COMM":null,"DEPTNO":20},{"EMPNO":7654,"ENAME":"MARTIN","JOB":"SALESMAN","MGR":7698,"HIREDATE":"28-SEP-81","SAL":1250,"COMM":1400,"DEPTNO":30},{"EMPNO":7698,"ENAME":"BLAKE","JOB":"MANAGER","MGR":7839,"HIREDATE":"05-JAN-81","SAL":2850,"COMM":null,"DEPTNO":30},{"EMPNO":7782,"ENAME":"CLARK","JOB":"MANAGER","MGR":7839,"HIREDATE":"06-SEP-81","SAL":2450,"COMM":null,"DEPTNO":10},{"EMPNO":7788,"ENAME":"SCOTT","JOB":"ANALYST","MGR":7566,"HIREDATE":"19-APR-87","SAL":3000,"COMM":null,"DEPTNO":20},{"EMPNO":7839,"ENAME":"KING","JOB":"PRESIDENT","MGR":null,"HIREDATE":"17-NOV-81","SAL":5000,"COMM":null,"DEPTNO":10},{"EMPNO":7844,"ENAME":"TURNER","JOB":"SALESMAN","MGR":7698,"HIREDATE":"09-AUG-81","SAL":1500,"COMM":0,"DEPTNO":30},{"EMPNO":7876,"ENAME":"ADAMS","JOB":"CLERK","MGR":7788,"HIREDATE":"23-MAY-87","SAL":1100,"COMM":null,"DEPTNO":20},{"EMPNO":7900,"ENAME":"JAMES","JOB":"CLERK","MGR":7698,"HIREDATE":"12-MAR-81","SAL":950,"COMM":null,"DEPTNO":30},{"EMPNO":7902,"ENAME":"FORD","JOB":"ANALYST","MGR":7566,"HIREDATE":"12-MAR-81","SAL":3000,"COMM":null,"DEPTNO":20},{"EMPNO":7934,"ENAME":"MILLER","JOB":"CLERK","MGR":7782,"HIREDATE":"23-JAN-82","SAL":1300,"COMM":null,"DEPTNO":10}]}

Veja também:

  • Exportar dados para o Excel usando PLSQL
  • Exportar dados para CSV usando PL/SQL