Oracle Pracedures Packages创建

来源:互联网 发布:怎么检查网络连接状态 编辑:程序博客网 时间:2024/05/22 05:28

自己没事整理的,建个Packages:

 

-----------------Packages Start--------------------------------------------------------------------------------*********************--------------
create or replace package LK_Package is
  DB_OK CONSTANT number := 0;
  DB_ERROR CONSTANT number :=1;
 procedure LK_Test(
           in_test in char,
           in_yen in number,
           out_code out number,
           out_msg out varchar2
 );
end LK_Package;

-------&&&&&&&&&&&&&&&&&&&----------------
--is/as 只是定义,begin才是真正的开始
create or replace package body LK_Package is

  LK_Code   NUMBER(1);  --レコードカウント1
 LK_Msg varchar2(60); --合計金額1

--带返回值方法(此处的变量名不能重新赋值)
  function UptTest(
     in_kyuko_yen in number := 0,--默认参数
     in_shain_cd in char)
     return boolean
  is
     in_kyuko number;
  begin
     if in_kyuko_yen = 0 then
        in_kyuko := 100;  --!!!
     end if;
     update test set KYUYO_YEN= in_kyuko where SHAIN_CD=in_shain_cd;
     return true;
     exception
       when others then
            rollback;
            return false;
  end;
  --不带返回值方法(此处的变量名必须与之前的一一对应)
  procedure LK_Test(
            in_test in char,
            in_yen in number,
            out_code out number,
            out_msg out varchar2
  )
  is
  begin
    if UptTest(in_test,in_yen) =true then
       out_code :=DB_OK;
       out_msg :='';
    else
       out_code :=DB_ERROR;
       out_msg :=sqlerrm;
    end if;
    exception
      WHEN OTHERS THEN
           out_code :=DB_ERROR;
           out_msg := 'exception : ' || sqlerrm;
           rollback;
  end LK_Test;
begin
 --LK_Test('00088838',600,LK_Code,LK_Msg);
end LK_Package;

-----------------Packages End---------------------------------------------------------------------------------******************---