編寫Oracle存儲過程的介紹
如果你在上一個銀行的目中,當(dāng)我們接到編寫關(guān)于Oracle存儲過程的任務(wù)時,我們會涉及到某些使用CALLABLE的接口調(diào)用存儲過程的經(jīng)驗,一時不知如何下手,我查閱了一些資料,通過實踐發(fā)現(xiàn)編寫Oracle存儲過程是非常不容易的工作。
即使上路以后,調(diào)試和驗證非常麻煩。簡單地講,Oracle存儲過程就是存儲在Oracle數(shù)據(jù)庫中的一個程序。
一. 概述
Oracle存儲過程開發(fā)的要點是:
* 使用Notepad文本編輯器,用Oracle PL/SQL編程語言寫一個存儲過程;
* 在Oracle數(shù)據(jù)庫中創(chuàng)建一個存儲過程;
* 在Oracle數(shù)據(jù)庫中使用SQL*Plus工具運行存儲過程;
* 在Oracle數(shù)據(jù)庫中修改存儲過程;
* 通過編譯錯誤調(diào)試存儲過程;
* 刪除存儲過程;
二.環(huán)境配置
包括以下內(nèi)容:
* 一個文本編輯器Notepad;
* Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 語句到Oracle database。
* Oracle 10g express數(shù)據(jù)庫,它是免費使用的版本;
需要的技巧:
* SQL基礎(chǔ)知識,包括插入、修改、刪除等
* 使用Oracle's SQL*Plus工具的基本技巧;
* 使用Oracle's PL/SQL 編程語言的基本技巧;
三.寫一個存儲過程
Oracle儲過程使用Oracle's PL/SQL 程序語言編寫,讓我們寫一個什么工作都不做的存儲過程,我們可以編譯和運行它而不用擔(dān)心會對數(shù)據(jù)庫產(chǎn)生任何損害。
在Notepad, 寫下:
- CREATE OR REPLACE PROCEDURE skeleton
- IS
- BEGIN
- NULL;
- END;
把文件存為skeleton.sql.
讓我們一行行遍歷這個存儲過程:
- CREATE OR REPLACE PROCEDURE skeleton
- IS
- BEGIN
- NULL;
- END;
行1:
CREATE OR REPLACE PROCEDURE 是一個SQL語句通知Oracle數(shù)據(jù)庫去創(chuàng)建一個叫做skeleton存儲過程, 如果存在就覆蓋它;
行2:
IS關(guān)鍵詞表明后面將跟隨一個PL/SQL體。
行3:
BEGIN關(guān)鍵詞表明PL/SQL體的開始。
行4:
NULL PL/SQL語句表明什么事都不做,這句不能刪去,因為PL/SQL體中至少需要有一句;
行5:
END關(guān)鍵詞表明PL/SQL體的結(jié)束
四.創(chuàng)建一個存儲過程
SQL語句CREATE OR REPLACE PROCEDURE在Oracle數(shù)據(jù)庫中創(chuàng)建、編譯和保存一個存儲過程。
從Window打開SQL*Plus并且從SQL*Plus登錄到你的數(shù)據(jù)庫;打開skeleton.sql文件.
在SQL>命令提示符下輸入以下命令:
- SQL>@skeleton
- SQL>/
SQL*Plus裝載skeleton.sql文件的內(nèi)容到SQL*Plus緩沖區(qū)并且執(zhí)行SQL*Plus語句;SQL*Plus 會通知你存儲過程已經(jīng)被成功地創(chuàng)建。
現(xiàn)在你的存儲過程被創(chuàng)建,編譯和保存在你的Oracle數(shù)據(jù)庫,我們可以運行它。上述的相關(guān)內(nèi)容就是對如何開發(fā)Oracle存儲過程的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】