Trong bài viết này, tôi đưa ra một ví dụ để xuất dữ liệu thành tệp JSON trong Oracle 11g bằng cách sử dụng PL / SQL.
Làm theo các bước sau để xuất dữ liệu thành tệp JSON trong Oracle 11g
- Trước tiên, hãy tải xuống gói tiện ích Alexandria PL / SQL từ GITHUB bằng liên kết sau:Tải xuống gói alexandria_plsql_utility.
- Sau khi tải xuống tệp zip, hãy giải nén nó và tìm JSON_UTIL_PKG trong thư mục "alexandria-plsql-utils-master \ alexandria-plsql-utils-master \ ora".
- Cài đặt nội dung và đặc tả gói JSON_UTIL_PKG vào giản đồ của bạn
- Sau đó, hãy tải xuống quy trình PL / SQL "WRITE_CLOB_TO_FILE" từ liên kết sau:Tải xuống Write_Clob_To_File.
- Cũng cài đặt quy trình này vào lược đồ của bạn.
Bây giờ bạn có thể tạo tệp JSON từ bảng Oracle bằng PL / SQL, như được hiển thị trong ví dụ dưới đây.
Oracle 11g SQL to JSON Ví dụ
Trong ví dụ sau, chúng tôi sẽ lấy dữ liệu vào biến CLOB bằng cách sử dụng hàm JSON_UTIL_PKG.SQL_TO_JSON và sau đó chúng tôi sẽ viết rằng CLOB có dữ liệu JSON vào một FILE bằng cách sử dụng thủ tục WRITE_CLOB_TO_FILE . Chúng tôi sẽ chuyển ba tham số cho thủ tục WRITE_CLOB_TO_FILE và chúng như sau:tên tệp, tên đối tượng thư mục và biến 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; /
Bây giờ bạn có thể kiểm tra vị trí của đối tượng thư mục JSON_DIR và bạn sẽ tìm thấy tệp JSON như được hiển thị trong đầu ra ví dụ dưới đây:
{"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}]}
Xem thêm:
- Xuất dữ liệu sang Excel bằng PLSQL
- Xuất dữ liệu sang CSV bằng PL / SQL