[英]create package with function and procedure pl sql
所以我做了一个 function 和一个程序。 function 是返回一个部门中员工人数最多的年份(由用户输入)。 然后该过程将显示特定年份的部门中的员工列表(该年份从函数的返回中使用)。 然后我将它们编译成 package。但是当我调用它们时,它不起作用。 它说“未执行,package 正文“SQL_CXYSUJQLPSOQZJEYHEXHDIXUZ.MY_PCKG”不存在 ORA-06512:第 5 行”。 有任何想法吗? 谢谢!
create or replace package my_pckg as
function check_date (my_name departments.department_name%type) RETURN INT;
procedure check_name(P_IN_DEPT_NAME IN VARCHAR2,P_IN_YEAR IN NUMBER);
END;
/
declare
my_var int;
my_var2 departments.department_name%type:='Shipping';
begin
my_var:=my_pckg.check_date(my_var2);
dbms_output.put_line(my_var);
my_pckg.check_name(my_var2,my_var);
end;
/
查看您的问题,您似乎还没有创建 package 正文。
Package
(标头)包含其中唯一的function/procedure
声明。function/procedure
的实际实现必须包含在 package 主体中。类似如下:
CREATE OR REPLACE PACKAGE PKG_NAME AS
-- DECLARATION OF FUNCTION AND PROCEDURE WILL GO HERE
FUNCTION FUN1(....);
PROCEDURE PROC1(....);
END PKG_NAME;
/
CREATE OR REPLACE PACKAGE BODY PKG_NAME AS
-- ACTUAL IMPLEMENTATION OF FUNCTION AND PROCEDURE WILL GO HERE
FUNCTION FUN1(....) AS
....
....
END FUN1;
PROCEDURE PROC1(....) AS
....
....
END PROC1;
END PKG_NAME;
/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.