Oracle Package 實例

Oracle的Package的作用:簡化應用設計、提高應用性能、實現信息隱藏、子程序重載。

CREATE OR REPLACE PACKAGE PT6.Sys_Common_If_p IS

  -- Author  : zimoxianchen
  -- Created : 2013-12-20 20:29:47
  -- Purpose : 包含一些公用的方法和函數

  /***************************************************************************
  * 功能描述:獲取某個lookup_type的lookup_code對應的lookup_name
  * 編寫人:zimoxianchen
  * 編寫日期: 2013-12-20
  ***************************************************************************/
  FUNCTION Get_Lookup_Name(i_Lookup_Type VARCHAR2, i_Lookup_Code VARCHAR2) RETURN VARCHAR2;
  
   /***************************************************************************
  * 功能描述:通過sys_user_id獲得用戶姓名
  * 編寫人:zimoxianchen  * 編寫日期: 2013-12-20
  ***************************************************************************/
  FUNCTION Get_User_Name_By_Uid(i_Sys_User_Id varchar2) RETURN VARCHAR2;
  

END Sys_Common_If_p;


 

CREATE OR REPLACE PACKAGE BODY Sys_Common_If_p IS

  /***************************************************************************
  * 功能描述:獲取某個lookup_type的lookup_code對應的lookup_name
  * 編寫人:zimoxianchen
  * 編寫日期: 2013-12-20
  ***************************************************************************/
  FUNCTION Get_Lookup_Name(i_Lookup_Type VARCHAR2, i_Lookup_Code VARCHAR2)
    RETURN VARCHAR2 IS
    v_Lookup_Name Sys_Lookup_Tl.Lookup_Name%TYPE;
  BEGIN
    IF i_Lookup_Code IS NULL THEN
      RETURN '';
    END IF;
    BEGIN
      SELECT Sltl.Lookup_Name
        INTO v_Lookup_Name
        FROM Sys_Lookup Sl, Sys_Lookup_Tl Sltl, Sys_Lookup_Type Slt
       WHERE Sl.Id = Sltl.Sys_Lookup_Id
         AND Slt.Id = Sl.Sys_Lookup_Type_Id
         --AND Sltl.Sys_Language_Id = Get_Session_Info.Get_Language_Id()
         AND Slt.Lookup_Type = i_Lookup_Type
         AND Sl.Lookup_Code = i_Lookup_Code;

    EXCEPTION
      WHEN OTHERS THEN
        v_Lookup_Name := '';
    END;

    RETURN v_Lookup_Name;

  END Get_Lookup_Name;

   /***************************************************************************
  * 功能描述:通過sys_user_id獲得員工姓名
  * 編寫人:zimoxianchen
  * 編寫日期: 2013-12-20
  ***************************************************************************/

  FUNCTION Get_User_Name_By_Uid(i_Sys_User_Id varchar2) RETURN VARCHAR2 IS
    sys_user_name Sys_User.Name%TYPE;
  BEGIN
    IF i_Sys_User_Id IS NULL THEN
      RETURN '';
    END IF;
    BEGIN
      SELECT Sys_User.NAME
        INTO sys_user_name
        FROM Sys_User
       WHERE Id = i_Sys_User_Id;
    EXCEPTION
      WHEN OTHERS THEN
        sys_user_name := '';
    END;
    RETURN sys_user_name;
  END Get_User_Name_By_Uid;
  
END Sys_Common_If_p;


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章