PL 允许对包内程序程序进行重载。所谓重载时指两个或多个程序有相同的名称,但拥有不同的参数变量、参数顺序或参数数据类型。调用时根据传入参数的类型来选择程序。 可以参考如下包定义的示例:
CREATE OR REPLACE PACKAGE demo_pack1
IS
DeptRec dept%ROWTYPE;
V_sqlcode NUMBER;
V_sqlerr VARCHAR2(2048);
FUNCTION query_dept(dept_no IN NUMBER)
RETURN INTEGER;
FUNCTION query_dept(dept_no IN VARCHAR2)
RETURN INTEGER;
END demo_pack1;
传输参数为数字或者字符串可以决定函数 query_dept 方法。 可以在包体定义中分别实现其功能。