sql >> Database >  >> RDS >> Oracle

Gegevens exporteren naar JSON-bestand in Oracle 11g met PL/SQL

In dit artikel geef ik een voorbeeld om gegevens te exporteren naar een JSON-bestand in Oracle 11g met behulp van PL/SQL.

Volg deze stappen om gegevens te exporteren naar een JSON-bestand in Oracle 11g

  1. Download eerst het Alexandria PL/SQL-hulpprogrammapakket van GITHUB via de volgende link:Download alexandria_plsql_utility-pakket.
  2. Na het downloaden van het zipbestand, pak het uit en zoek de JSON_UTIL_PKG op in de map "alexandria-plsql-utils-master\alexandria-plsql-utils-master\ora".
  3. Installeer de JSON_UTIL_PKG-pakketspecificatie en hoofdtekst in uw schema
  4. Download daarna de "WRITE_CLOB_TO_FILE" PL/SQL-procedure via de volgende link:Download Write_Clob_To_File.
  5. Installeer deze procedure ook in uw schema.

Nu kunt u het JSON-bestand uit de Oracle-tabel genereren met PL/SQL, zoals in het onderstaande voorbeeld.

Oracle 11g SQL naar JSON-voorbeeld

In het volgende voorbeeld krijgen we de gegevens in de CLOB-variabele met behulp van de functie JSON_UTIL_PKG.SQL_TO_JSON en dan zullen we schrijven dat CLOB JSON-gegevens heeft in een FILE met behulp van de WRITE_CLOB_TO_FILE procedure . We zullen drie parameters doorgeven aan de WRITE_CLOB_TO_FILE-procedure, en deze zijn als volgt:een bestandsnaam, directory-objectnaam en de CLOB-variabele.

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;
/

Nu kunt u de locatie van het directory-object JSON_DIR controleren, en u zult het JSON-bestand vinden zoals weergegeven in onderstaande voorbeelduitvoer:

{"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}]}

Zie ook:

  • Gegevens exporteren naar Excel met PLSQL
  • Gegevens exporteren naar CSV met PL/SQL
  1. Opgeslagen procedure verwijderen in MySQL

  2. Hoe top 1 en gesorteerd op datum selecteren in Oracle SQL?

  3. Null-waarden weergeven bij het uitvoeren van query's in psql (PostgreSQL)

  4. Willekeurige rijen selecteren in MySQL