存儲過程(Stored Procedure )是一組為了完成特定功能的SQL 語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設計良好的數(shù)據(jù)庫應用程序都應該用到存儲過程。存儲過程是由流控制和SQL 語句書寫的過程,這個過程經(jīng)編譯和優(yōu)化后存儲在數(shù)據(jù)庫服務器中,應用程序使用時只要調(diào)用即可。在ORACLE 中,若干個有聯(lián)系的過程可以組合在一起構成程序包。
oracle有系統(tǒng)存儲過程和自定義存儲過程2種存儲過程。系統(tǒng)存儲過程就是由oracle預先提供的一組完成特定功能的存儲過程,安裝完oracle就有了。自定義存儲過程就是存在oracle數(shù)據(jù)庫里由一組plsql語句組成的自定義過程(procedure)。它可以供其它oracle自定義存儲過程、自定義函數(shù)和job調(diào)用或者由客戶端程序調(diào)用。
Oracle存儲的作用是隱藏細節(jié),簡單地說就是你寫的存儲過程代碼可能很復雜,但是其他人調(diào)用它卻很簡單,不用具體知道它是如何做的,且一次能完成多個指令。
Oracle存儲過程有什么優(yōu)點呢?
1、存儲過程只在創(chuàng)造時進行編譯,以后每次執(zhí)行存儲過程都不需再重新編譯,而一般SQL語句每執(zhí)行一次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度。
2、存儲過程可以重復使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量。
3、安全性高,可設定只有某用戶才具有對指定存儲過程的使用權。
4、當對數(shù)據(jù)庫進行復雜操作時(如對多個表進行Update、Insert、Query、Delete時),可將此復雜操作用存儲過程封裝起來與數(shù)據(jù)庫提供的事務處理結合一起使用。
上一個教程:返回列表
下一個教程:Oracle 存儲在編譯過程中卡死了怎么辦?