1. 程式人生 > >Oracle中使用程式包學習例項

Oracle中使用程式包學習例項

1:建立程式包規範,

   可以宣告變數,型別,子程式等

create or replace package pack_me is

    procedure emp_proc (num number);

    function emp_func(empno number) return varchar2;

end pack_me;

在程式包規範中聲明瞭儲存過程emp_proc和函式emp_func,它們的實現在程式包主體中。

2:  建立程式包主體

   create or replace package body pack_me is

     procedure emp_proc(num number) is

         e_mail  varchar(50);

      begin

          select t.email into e_email from employees t where t.id=num;

          dbms.output.put_line(email);

      end emp_proc;

      function emp_func(empno number) return varchar2 is

           emp_name varchar2(10);

      begin

          select t.name into emp_name from employees t where t.id=empno;

          return emp_name;

      end emp_func;

end pack_me;

3:測試程式包

declare

   name varchar2(50);

   no number;

begin

   no := 3;

   pack_me.emp_proc(no);  --輸出編號為3的員工的email資訊

   name := pack_me.emp_func(no);  --獲取編號為3的員工的姓名

   dbms_output.put_line(name);  --輸出姓名

end;