select
d.deptno, d.dname,
cursor
(
select
e.*
from
emp e
where
e.deptno = d.deptno)
as
the_emps
from
dept d
declare
l_json clob;
begin
l_json := json_util_pkg.sql_to_json (
'select d.deptno, d.dname,
cursor (select e.*
from emp e
where e.deptno = d.deptno) as the_emps
from dept d'
);
dbms_output.put_line (substr(l_json, 1, 10000));
end
;
{
"ROWSET"
:[{
"DEPTNO"
:10,
"DNAME"
:
"ACCOUNTING"
,
"THE_EMPS"
:[{
"EMPNO"
:7782,
"ENAME"
:
"CLARK"
,
"JOB"
:
"MANAGER"
,
"MGR"
:7839,
"HIREDATE"
:
"09.06.1981"
,
"SAL"
:2450,
"COMM"
:
null
,
"DEPTNO"
:10},
{
"EMPNO"
:7839,
"ENAME"
:
"KING"
,
"JOB"
:
"PRESIDENT"
,
"MGR"
:
null
,
"HIREDATE"
:
"31.01.2005"
,
"SAL"
:5000,
"COMM"
:
null
,
"DEPTNO"
:10},
{
"EMPNO"
:7934,
"ENAME"
:
"MILLER"
,
"JOB"
:
"CLERK"
,
"MGR"
:7782,
"HIREDATE"
:
"23.01.1982"
,
"SAL"
:1300,
"COMM"
:
null
,
"DEPTNO"
:10}]},
{
"DEPTNO"
:20,
"DNAME"
:
"RESEARCH"
,
"THE_EMPS"
:[{
"EMPNO"
:7369,
"ENAME"
:
"SMITH"
,
"JOB"
:
"SALESMAN"
,
"MGR"
:7902,
"HIREDATE"
:
"17.12.1980"
,
"SAL"
:880,
"COMM"
:
null
,
"DEPTNO"
:20},
{
"EMPNO"
:7566,
"ENAME"
:
"JONES"
,
"JOB"
:
"MANAGER"
,
"MGR"
:7839,
"HIREDATE"
:
"02.04.1981"
,
"SAL"
:2975,
"COMM"
:
null
,
"DEPTNO"
:20},
{
"EMPNO"
:7788,
"ENAME"
:
"SCOTT"
,
"JOB"
:
"ANALYST"
,
"MGR"
:7566,
"HIREDATE"
:
"09.12.1982"
,
"SAL"
:3000,
"COMM"
:
null
,
"DEPTNO"
:20},
{
"EMPNO"
:7876,
"ENAME"
:
"ADAMS"
,
"JOB"
:
"CLERK"
,
"MGR"
:7788,
"HIREDATE"
:
"12.01.1983"
,
"SAL"
:1100,
"COMM"
:
null
,
"DEPTNO"
:20},
{
"EMPNO"
:7902,
"ENAME"
:
"FORD"
,
"JOB"
:
"ANALYST"
,
"MGR"
:7566,
"HIREDATE"
:
"03.12.1981"
,
"SAL"
:3000,
"COMM"
:
null
,
"DEPTNO"
:20},
{
"EMPNO"
:9999,
"ENAME"
:
"BRATEN"
,
"JOB"
:
"CLERK"
,
"MGR"
:7902,
"HIREDATE"
:
"05.05.2009"
,
"SAL"
:1000,
"COMM"
:
null
,
"DEPTNO"
:20},
{
"EMPNO"
:9998,
"ENAME"
:
"DOE"
,
"JOB"
:
"CLERK"
,
"MGR"
:7902,
"HIREDATE"
:
"25.04.2009"
,
"SAL"
:500,
"COMM"
:
null
,
"DEPTNO"
:20}]},
{
"DEPTNO"
:30,
"DNAME"
:
"SALES"
,
"THE_EMPS"
:[{
"EMPNO"
:7499,
"ENAME"
:
"ALLEN"
,
"JOB"
:
"SALESMAN"
,
"MGR"
:7698,
"HIREDATE"
:
"20.02.1981"
,
"SAL"
:1600,
"COMM"
:300,
"DEPTNO"
:30},
{
"EMPNO"
:7521,
"ENAME"
:
"WARD"
,
"JOB"
:
"SALESMAN"
,
"MGR"
:7698,
"HIREDATE"
:
"22.02.1981"
,
"SAL"
:3200,
"COMM"
:500,
"DEPTNO"
:30},
{
"EMPNO"
:7654,
"ENAME"
:
"MARTIN"
,
"JOB"
:
"SALESMAN"
,
"MGR"
:7698,
"HIREDATE"
:
"28.09.1981"
,
"SAL"
:1250,
"COMM"
:1400,
"DEPTNO"
:30},
{
"EMPNO"
:7698,
"ENAME"
:
"BLAKE"
,
"JOB"
:
"MANAGER"
,
"MGR"
:7839,
"HIREDATE"
:
"01.05.1981"
,
"SAL"
:2850,
"COMM"
:
null
,
"DEPTNO"
:30},
{
"EMPNO"
:7844,
"ENAME"
:
"TURNER"
,
"JOB"
:
"SALESMAN"
,
"MGR"
:7698,
"HIREDATE"
:
"08.09.1981"
,
"SAL"
:1500,
"COMM"
:0,
"DEPTNO"
:30},
{
"EMPNO"
:7900,
"ENAME"
:
"JAMES"
,
"JOB"
:
"CLERK"
,
"MGR"
:7788,
"HIREDATE"
:
"03.12.1981"
,
"SAL"
:950,
"COMM"
:
null
,
"DEPTNO"
:30}]},
{
"DEPTNO"
:40,
"DNAME"
:
"OPERATIONS"
,
"THE_EMPS"
:
null
}]}