Oracle存儲過程

          -----------------------------------------------

          A,使用存儲過程參數

          -----------------------------------------------

          定義語法:

          CREATE [OR REPLACE] PROCEDURE procedure_name
              (arg1 [mode1] type1 [default  default_value], arg2 [mode2] type2, ...)
          IS [AS]
          PL/SQL Block;

          說明:

          在定義參數時,只能指定數據類型,不能指定長度。

          參數類型為IN(默認),OUT,IN OUT三種。

          使用集合類型作為返回值時,需要使用自定義的嵌套表類型或者VARRAY類型。

           

          存儲過程示例:

          CREATE OR REPLACE PROCEDURE out_time
          IS
          BEGIN
             DBMS_SESSION.set_nls ('NLS_DATE_FORMAT', '''YYYY-MM-DD HH24:MI:SS''');
             DBMS_OUTPUT.put_line (SYSDATE);
          END;
          /

           

          -----------------------------------------------

          B,調用存儲過程

          -----------------------------------------------

          在SQL*Plus中調用過程時,需要使用CALL或者EXECUTE命令;而在PL/SQL塊中過程可以直接引用。

          exec procedure_name()

           

          參數傳遞:位置傳遞,名稱傳遞,組合傳遞。

          exec procedure_name('arg1_value',  arg2=>'arg2_value')

           

           

          -----------------------------------------------

          C,維護存儲過程

          -----------------------------------------------

          第一,刪除過程

          DROP PROCEDURE procedure_name;

          第二,顯示編譯錯誤

          方法一:執行命令

          SHOW errors

          方法二:查詢數據字典

          SELECT *
            FROM user_errors;

          第三,確定過程狀態

          當使用ALTER  TABLE命令改變表結構時,會將基本該表的子程序狀態改為INVALID狀態。使用下面的語句可以查詢對象的狀態,

          SELECT *
            FROM user_objects;

          第四,編譯過程

          為了避免過程的運行時錯誤,應該重新編譯處于INVALID狀態的過程。

          ALTER   PROCEDURE  procedure_name  COMPILE;

          編譯函數:

          ALTER   FUNCTION   procedure_name  COMPILE;

          第五,查看過程代碼

          查詢數據字典USER_SOURCE,可以獲得子程序名稱以及源代碼。

          SELECT *
            FROM user_source t
          WHERE t.NAME = 'OUT_TIME';

          posted on 2009-03-25 10:52 JavaBegger 閱讀(162) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 九江市| 栾城县| 潮安县| 北安市| 宾川县| 昆山市| 开平市| 镇远县| 阿图什市| 郓城县| 蕉岭县| 涡阳县| 松阳县| 洪湖市| 长治市| 任丘市| 高要市| 抚远县| SHOW| 确山县| 五台县| 南木林县| 桦南县| 子长县| 迁安市| 龙岩市| 墨竹工卡县| 广南县| 湟中县| 洛阳市| 辰溪县| 定西市| 安岳县| 西和县| 麻栗坡县| 仪陇县| 博罗县| 东明县| 太仆寺旗| 城市| 平昌县|