oracle --存儲過程、函數、包

存儲過程和函數是一種PL/SQL塊,是存入數據庫的PL/SQL塊。咱們一般將PL/SQL程序塊稱爲無名塊,而存儲過程和函數是以命名的方式存儲在數據庫中。它有以下優勢:數據庫

1>存儲過程的代碼不是保存在本地,而是在數據庫中,所以,用戶能夠在任何客戶機上登陸到數據庫,調用或者修改代碼。編輯器

2>存儲過程和函數的信息是寫入字典的,因此存儲過程能夠看作是一個公用模塊,用戶編寫的PL/SQL程序或者其餘存儲過程均可以調用它(可是存儲過程和函數不能調用PL/SQL程序)。一般,一個重複使用的功能,能夠設計成一個存儲過程。函數

3>存儲過程和函數都須要進行編譯,以排除語法錯誤,只有編譯過了才能調用。url

建立和刪除存儲過程
spa

create or replace procedure 存儲過程名[(參數1,參數2,……)]設計

{as|is}get

begin
io

執行部分編譯

[exception登錄

錯誤處理部分]

end[過程名];

參數類型有三種:IN、OUT和IN、OUT。

關鍵字AS也能夠寫成IS,後面能夠定義該存儲過程的局部變量。

編寫存儲過程能夠使用任何文本編輯器或直接在SQL *Plus環境下進行,編寫完後須要編譯成功,編譯成功後的存儲過程就能夠在Oracle環境下調用了。

若是一個存儲過程不須要在使用了,能夠使用以下語句刪除它:

drop  procedure  存儲過程名;

執行或者調用存儲過程的方法以下:

1>方法1

exceute  模式名.存儲過程名[參數];

2>方法2

begin

模式名.存儲過程名[參數];

end;

若是是調用本帳號下的存儲過程,則模式名能夠省略,要調用其餘帳號編寫的存儲過程,則須要模式名。

打印信息

dbms_output.put_line(變量名);


http://wenku.baidu.com/link?url=RhzhJsiJ7_jBNtzu6dQ-xfXn6tvx-ZsOlgk5zeBo2kbEKkgbFmgJePnu47qCwSVC1c1e5kTBbaSeNhqz2oJmEXougyOCwiRuCuKhnb4J3sm

相關文章
相關標籤/搜索