如何在oracle中运行完整的包

时间:2018-02-05 19:11:17

标签: oracle plsql

create or replace package first_pckg IS
PROCEDURE print_name;
FUNCTION ret_eid return number;
END;
create or replace PACKAGE BODY FIRST_PCKG IS
ename employees.first_name%type;
eid employees.employee_id%type;
PROCEDURE print_name is
BEGIN
select first_name into ename from employees where employee_id=100;
dbms_output.put_line(ename);
END;
Function ret_eid return number is
BEGIN
select department_id into eid from employees where employee_id=100;
return eid;
END;
END;

我们可以使用execute first_pckg.print_name

在包中执行过程和函数

有人可以告诉我如何执行整个包吗?

谢谢

1 个答案:

答案 0 :(得分:0)

声明类型,函数和过程:它基本上代表定义和代码的存储库。一般来说,“执行”一个包没有多大意义。

但是,软件包附带可选的初始化代码,该代码将在db会话期间第一次引用包中的符号时执行。在您的示例中:

create or replace package first_pckg IS
    PROCEDURE print_name;
    -- ...
    Function ret_eid return number is
    BEGIN
        select department_id into eid from employees where employee_id=100;
        return eid;
    END;

BEGIN
    -- package init code goes here ...
END package;