我正在编写一个包含许多功能和程序的软件包来处理HR表。但我不确定是否有任何关于子程序顺序的考虑。如果你编译一个包,然后在现有包的中间创建一个新过程,会发生什么?谢谢。PLSQL文档是否对子程序的顺序进行了说明?
CREATE OR REPLACE PACKAGE BODY empinfo_pkg IS
FUNCTION emp_sal_1(
p_empid employees.employee_id%TYPE,
p_sal employees.salary%TYPE)
RETURN NUMBER
IS
v_incre_sal NUMBER(8,2);
BEGIN
SELECT SALARY * p_sal
INTO v_incre_sal
FROM employees
WHERE employee_id = p_empid;
RETURN v_incre_sal;
END emp_sal_1;
PROCEDURE emp_basicinfo_1(
p_empid employees.employee_id%TYPE)
IS
v_info VARCHAR2(200);
BEGIN
SELECT employee_id || ' ' || first_name || ' ' || last_name
INTO v_info
FROM employees
WHERE employee_id = p_empid;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO EXISTE EMPLEADO CON ID INGRESADO');
END emp_basicinfo_1;
FUNCTION emp_comm_1(
p_empid employees.employee_id%TYPE)
RETURN NUMBER
IS
v_comm NUMBER(8,2);
BEGIN
SELECT commission_pct
INTO v_comm
FROM employees
WHERE employee_id = p_empid;
RETURN v_comm;
END emp_comm_1;
PROCEDURE emp_allinfo_1(
p_empid IN employees.employee_id%TYPE,
p_refcur OUT SYS_REFCURSOR)
IS
BEGIN
OPEN p_refcur
FOR SELECT *
FROM employees
WHERE employee_id = p_empid;
END emp_allinfo_1;
END empinfo_pkg;
/
SHOW ERRORS;
感谢您的帮助! – Rattlesnake