关于Oracle数据库,程序包的问题。。
创建程序包,在程序包中定义一个过程用作添加员工,再定义一个函数用作根据员工编号判断员工是否存在。(要求:在用户执行添加操作之前,先调用函数判断该员工是否存在,如果不存在,则插入并提交数据;否则提示该员工已存在)
create or replace package mypack
is
procedure PrintName(eno number);
function IsHaveEmp(eno number) return number;
end;
create or replace package body mypack
is
procedure PrintName(eno number)
is
myname varchar2(20);
begin
if IsHaveEmp(eno)>0 then
select ename into myname from emp where empno=eno;
dbms_output.put_line(myname);
else
dbms_output.put_line('不存在该员工');
end if;
end;
function IsHaveEmp(eno number)
return boolean
is
counter number;
begin
select count(*) into counter from emp where empno=eno;
return counter;
end;
end;
问题是在PLSQL块中是不能调用函数的。。
但是过程又必须在PLSQL块中调用。。
该段代码如果调用呢。。