我正在尝试创建一个 JSON_OBJECT 来存储表中的数据。我只是不知道如何在创建 JSON_OBJECT 后附加数据。我没有包含剩余两列的原因是关于hired_date和emp_status,在添加json_object之前我会做一些if else条件。
DECLARE
v_output_data CLOB;
CURSOR get_info(in_dept_id VARCHAR2) IS
SELECT last_name,first_name, hired_date, emp_status
FROM emp_directory_info
WHERE source_system_id = in_dept_id ;
BEGIN
FOR record_ctr IN get_info('acct') LOOP
v_output_data:= v_output_data ||JSON_OBJECT
('Souce' VALUE record_ctr.last_name,
'Received' VALUE record_ctr.first_name
);
--Want to put some if else condition here, after that I will append the 'hired_date' and 'emp_status' column from the existing JSON_OBJECT above.
END LOOP;
END;
DECLARE v_output_data CLOB; v_json_obj JSON_OBJECT_T;
CURSOR get_info(in_dept_id VARCHAR2) IS
SELECT last_name, first_name, hired_date, emp_status
FROM emp_directory_info
WHERE source_system_id = in_dept_id; BEGIN FOR record_ctr IN get_info('acct') LOOP v_json_obj := JSON_OBJECT_T('Souce' VALUE record_ctr.last_name,
'Received' VALUE record_ctr.first_name);
IF record_ctr.emp_status = 'Active' THEN
v_json_obj.PUT('hired_date', TO_CHAR(record_ctr.hired_date, 'YYYY-MM-DD')); ELSE
v_json_obj.PUT('emp_status', record_ctr.emp_status); END IF;
v_output_data := v_output_data || v_json_obj.TO_CLOB(); END LOOP; END;