У меня есть анонимный блок PL / SQL для поиска сотрудников по их department_id
.Я написал процедуру для этого.
Код
CREATE OR REPLACE PROCEDURE find_employees (
p_dept_no IN NUMBER,
p_error_message OUT VARCHAR2)
AS
v_dept_no NUMBER;
dept_chk EXCEPTION;
CURSOR find_emp
IS
SELECT employee_id,
first_name,
last_name,
salary,
hire_date
FROM employees
WHERE department_id = p_dept_no;
BEGIN
-- Check if the department_id in departments table
IF Condition
THEN --Need to check the condition here
RAISE dept_chk;
END IF;
FOR i IN find_emp
LOOP
DBMS_OUTPUT.put_line (i.employee_id);
DBMS_OUTPUT.put_line (i.first_name);
DBMS_OUTPUT.put_line (i.last_name);
DBMS_OUTPUT.put_line (i.salary);
DBMS_OUTPUT.put_line (i.hire_date);
END LOOP;
EXCEPTION
WHEN dept_chk
THEN
p_error_message := 'Please enter valid department number';
END find_employees;
- Как проверить, есть ли таблица
department_id
в отделах
Примечание:
В этой процедуре есть один входной параметр p_dept_no
в качестве INPUT, а p_error_message
- выходной параметр.
Мне нужно проверить, находится ли Department_id в таблице отделов, после чего автоматически записываютсяпокажет другое, это показывает исключение, поэтому мне нужно проверить условие, как это возможно, дайте мне знать заранее.