本文實(shí)例講述了Oracle的pl/sql。分享給大家供大家參考,具體如下:
一、pl/sql 是什么
pl/sql(procedural language/sql)是oracle在標(biāo)準(zhǔn)的sql語(yǔ)言上的擴(kuò)展。
pl/sql不僅允許嵌入sql語(yǔ)言,還可以定義變量和常量,允許使用條件語(yǔ)句和循環(huán)語(yǔ)句,允許使用例外處理各種錯(cuò)誤,這樣使得它的功能變得更加強(qiáng)大。
二、為什么要學(xué)pl/sql
1.提高應(yīng)用程序的運(yùn)行性能
2.模塊化的設(shè)計(jì)思想(分頁(yè)的過(guò)程,訂單的過(guò)程,轉(zhuǎn)賬的過(guò)程。。)
3.減少網(wǎng)絡(luò)傳輸量
4.提高安全性(sql會(huì)包括表名,有時(shí)還可能有密碼,傳輸?shù)臅r(shí)候會(huì)泄露。PL/SQL就不會(huì))
三、Oracle為什么在PL/SQL developer執(zhí)行很快,用c# oracleclient執(zhí)行就慢
因?yàn)镻L/SQL這門語(yǔ)言是專門用于在各種環(huán)境下對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。由于該語(yǔ)言集成于數(shù)據(jù)庫(kù)服務(wù)器中,所以PL/SQL代碼可以對(duì)數(shù)據(jù)進(jìn)行快速高效的處理。
而c#語(yǔ)言是微軟的產(chǎn)品,它在連接ORACLE的時(shí)候先存到“連接池”中,所以第一次會(huì)慢點(diǎn),但是當(dāng)你的Web程序沒(méi)有重起的時(shí)候,以后的速度就不會(huì)慢了。
四、使用pl/sql的缺點(diǎn)
移植性不好(換數(shù)據(jù)庫(kù)就用不了)
五、pl/sql理解
1)、存儲(chǔ)過(guò)程、函數(shù)、觸發(fā)器是pl/sql編寫的
2)、存儲(chǔ)過(guò)程、函數(shù)、觸發(fā)器是存在oracle中的
3)、pl/sql是非常強(qiáng)大的數(shù)據(jù)庫(kù)過(guò)程語(yǔ)言
4)、存儲(chǔ)過(guò)程、函數(shù)可以在java中調(diào)用
六、編寫一個(gè)存儲(chǔ)過(guò)程,該過(guò)程可以向某表中添加記錄。
1、創(chuàng)建一張簡(jiǎn)單的表
CREATE TABLE mytest(
username VARCHAR2(30),
pwd VARCHAR2(30)
);
2、創(chuàng)建過(guò)程(replace:表示如果有insert_proc,就替換)
CREATE OR REPLACE PROCEDURE insert_proc IS
BEGIN
INSERT INTO mytest VALUES('林計(jì)欽', '123456');
END;
/
3、如何查看錯(cuò)誤信息:show error;
注意要在命令窗口執(zhí)行
4、如何調(diào)用該過(guò)程:exec 過(guò)程名(參數(shù)值1,參數(shù)值2...);
eg、exec insert_proc;
注意要在命令窗口執(zhí)行
希望本文所述對(duì)大家Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- oracle復(fù)習(xí)筆記之PL/SQL程序所要了解的知識(shí)點(diǎn)
- PL/SQL Dev連接Oracle彈出空白提示框的解決方法分享
- 64位win7下pl/sql無(wú)法連接oracle解決方法
- Oracle中PL/SQL中if語(yǔ)句的寫法介紹
- Oracle中在pl/sql developer修改表的2種方法
- ORACLE PL/SQL 觸發(fā)器編程篇介紹
- Oracle 10G:PL/SQL正規(guī)表達(dá)式(正則表達(dá)式)手冊(cè)
- 在Oracle PL/SQL中游標(biāo)聲明中表名動(dòng)態(tài)變化的方法
- PL/SQL實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)任務(wù)調(diào)度
- Oracle PL/SQL語(yǔ)言入門基礎(chǔ)
- Oracle PL/SQL入門案例實(shí)踐
- Oracle PL/SQL入門慨述