国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

數據庫程序包全局變量的應用

2024-07-21 02:37:56
字體:
來源:轉載
供稿:網友

  1 前言
  在程序實現過程中,經常用碰到一些全局變量或常數。在程序開發過程中,往往會將該變量或常數存儲于臨時表或前臺程序的全局變量中,由此帶來運行效率降低<頻繁讀取臨時表>或安全隱患<存于前臺程序變量,可跟蹤內存變量獲得>。
  本文主要論述將全局變量或常數存取程序包的優點和實現方法。
  
  2 優點
  2.1 執行效率比存儲于臨時表高,不需要頻率存取臨時表
  2.2 將全局變量藏于最后防線<數據庫>,安全性較高
  2.3 在視圖中可以調用程序包的變量,實現動態視圖
  
  3 實現
  3.1 實現方法概述
  Oracle數據庫程序包中的變量,在本程序包中可以直接引用,但是在程序包之外,則不可以直接引用。對程序包變量的存取,可以為每個變量配套相應的存儲過程<用于存儲數據>和函數<用于讀取數據>來實現。
  
  3.2 實例
  --定義程序包
  create or replace package PKG_System_Constant is
  
    C_SystemTitle nVarChar2(100):='測試全局程序變量'; --定義常數
    --獲取常數<系統標題>
    Function FN_GetSystemTitle
     Return nVarChar2;
  
    G_CurrentDate Date:=SysDate; --定義全局變量
    --獲取全局變量<當前日期>
    Function FN_GetCurrentDate
     Return Date;
    --設置全局變量<當前日期>
    PRocedure SP_SetCurrentDate
     (P_CurrentDate In Date);
  End PKG_System_Constant;
  /
  create or replace package body PKG_System_Constant is
    --獲取常數<系統標題>
    Function FN_GetSystemTitle
     Return nVarChar2
     Is
     Begin
       Return C_SystemTitle;
     End FN_GetSystemTitle;
  
    --獲取全局變量<當前日期>
    Function FN_GetCurrentDate
     Return Date
     Is
     Begin
       Return G_CurrentDate;
     End FN_GetCurrentDate;
    --設置全局變量<當前日期>
    Procedure SP_SetCurrentDate
     (P_CurrentDate In Date)
     Is
     Begin
       G_CurrentDate:=P_CurrentDate;
     End SP_SetCurrentDate;
  End PKG_System_Constant;
  /
    
  3.3 測試
  --測試讀取常數
  Select PKG_System_Constant.FN_GetSystemTitle From Dual;   
  --測試設置全局變量
  Declare 
  Begin
    PKG_System_Constant.SP_SetCurrentDate(To_Date('2001.01.01','yyyy.mm.dd'));
  End;
  /
  --測試讀取全局變量
  Select PKG_System_Constant.FN_GetCurrentDate From Dual;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中卫市| 上饶县| 克拉玛依市| 鸡泽县| 新津县| 武定县| 历史| 金溪县| 扶风县| 苏州市| 昌乐县| 肇东市| 会泽县| 宁远县| 文昌市| 雷山县| 奉节县| 滨州市| 红河县| 东乌珠穆沁旗| 咸阳市| 三台县| 常宁市| 城固县| 沽源县| 滦平县| 安宁市| 邵东县| 宜春市| 漠河县| 承德县| 栖霞市| 济宁市| 皮山县| 汕尾市| 巴楚县| 金阳县| 信宜市| 天全县| 兴文县| 临沭县|