У меня есть пакет с хранимой процедурой в Oracle PLSQL, который имеет один входной и выходной параметр в качестве курсора ссылки. Курсор ref в процедуре содержит два оператора SELECT с UNION. Он содержит две таблицы: таблицы сотрудников и актеров. Я пытаюсь проверить эту процедуру, запустив анонимный блок, но курсор ref не возвращает никаких значений. Пожалуйста помоги. Нужно это скоро.
Технические характеристики упаковки:
create or replace PACKAGE pkg_TEST AS
Type cur_dtls is REF CURSOR;
PROCEDURE EMPLOYEE
(
p_empID IN NUMBER,
p_ResultSet OUT cur_dts
);
END pkg_TEST;
Корпус:
create or replace PACKAGE body pkg_TEST AS
AS
create or replace PROCEDURE EMPLOYEE
(
p_empID IN NUMBER,
p_ResultSet OUT cur_dts
)
BEGIN
OPEN p_ResultSet FOR
SELECT Assoc.*, (CASE WHEN emp.dept is NULL then 'NO' else 'YES') status
from
(SELECT emp.name,
emp.dept,
emp.salary
emp.address,
emp.phone
FROM employee_table
WHERE emp.id = p_empID) Assoc
UNION
SELECT Actor.*, (CASE WHEN act.dept is NULL then 'NO' else 'YES') status
from
(SELECT act.name,
act.dept,
emp.salary
emp.address,
emp.phone
FROM employee_table emp, actor_table act
WHERE act.id = emp.id
AND act.phone=emp.phone
AND act_id = p_empID) Actor;
END EMPLOYEE;
END pkg_TEST;
Я ожидаю вывода из этого пакета / процедуры, когда передам emp_ID. Пожалуйста, дайте мне знать, как создать анонимный блок для этого? Я создал один, но он не работает.
Выход:
emp.name || emp.dept || emp.salary || emp.address || emp.phone || Состояние
Марк || IT || 23434 || техас || 334743443 || ДА
Клэр || || 43455 || Кали || 545454554 || NO
Извините. Я не смог отобразить результат вывода в отформатированном виде.