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