本文實(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程序沒有重起的時(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 ISBEGIN 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ì)有所幫助。