想靠Oracle拿高薪,存儲過程的優(yōu)點你搞清楚了茂腥?

  • 除了日常的mysql,相信大家都知道Oracle由于其存在的時間之長切省,也是許多大廠的選擇最岗。并且在日常的面試中,熟知Oracle與原本在面試中也是擁有極大的優(yōu)勢。而今天咱們就來說說Oracle中的存儲過程朝捆。

存儲過程是Oracle開發(fā)者在數(shù)據(jù)轉(zhuǎn)換或查詢報表時經(jīng)常使用的方式之一般渡。

  • 我們都知道,它就是想編程語言一樣一旦運行成功芙盘,在日常的使用中就可以被用戶隨時調(diào)用驯用,這種方式極大的節(jié)省了用戶的時間,也提高了程序的執(zhí)行效率儒老。存儲過程在數(shù)據(jù)庫開發(fā)中使用比較頻繁蝴乔,它有著普通SQL語句不可替代的作用。
  • 所謂存儲過程驮樊,就是一段存儲在數(shù)據(jù)庫中執(zhí)行某種功能的程序薇正。其中包含一條或多條SQL語句片酝,但是它的定義方式和PL/SQL中的塊、包等有所區(qū)別挖腰。存儲過程可以通俗地理解為是存儲在數(shù)據(jù)庫服務(wù)器中的封裝了一段或多段SQL語句的PL/SQL代碼塊雕沿。
  • 在數(shù)據(jù)庫中有一些是系統(tǒng)默認的存儲過程,那么可以直接通過存儲過程的名稱進行調(diào)用猴仑。另外审轮,存儲過程還可以在編程語言中調(diào)用,如Java辽俗、C#等断国。

存儲過程的優(yōu)點:

  • 增加數(shù)據(jù)獨立性。與視圖的效果相似榆苞,利用存儲過程可以把數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)和程序(或用戶)隔離開來稳衬,當基礎(chǔ)數(shù)據(jù)的結(jié)構(gòu)發(fā)生變化時,可以修改存儲過程坐漏,這樣對程序來說基礎(chǔ)數(shù)據(jù)的變化是不可見的薄疚,也就不需要修改程序代碼了。

  • 簡化復雜的操作赊琳。存儲過程可以把需要執(zhí)行的多條SQL語句封裝到一個獨立單元中街夭,用戶只需調(diào)用這個單元就能達到目的。這樣就實現(xiàn)了一人編寫多人調(diào)用躏筏。

  • 提高性能板丽。完成一項復雜的功能可能需要多條SQL語句,同時SQL每次執(zhí)行都需要編譯趁尼,而存儲過程可以包含多條SQL語句埃碱,而且創(chuàng)建后只需要編譯一次,以后就可以直接調(diào)用酥泞。

存儲過程的語法:

  • 創(chuàng)建語句:create or replace procedure 存儲過程名砚殿。如果沒有or replace語句,則僅僅是新建一個存儲過程芝囤。如果系統(tǒng)存在該存儲過程似炎,則會報錯。Create or replace procedure 如果系統(tǒng)中沒有此存儲過程就新建一個悯姊,如果系統(tǒng)中有此存儲過程則把原來刪除掉羡藐,重新創(chuàng)建一個存儲過程。
  • 存儲過程名定義:包括存儲過程名和參數(shù)列表悯许。參數(shù)名和參數(shù)類型仆嗦。參數(shù)名不能重復。參數(shù)的數(shù)據(jù)類型只需要指明類型名即可岸晦,不需要指定寬度欧啤。 參數(shù)的寬度由外部調(diào)用者決定睛藻。 存儲過程可以有參數(shù),也可以沒有參數(shù)邢隧。
  • 變量聲明塊:緊跟著的as (is )關(guān)鍵字店印,可以理解為pl/sql的declare關(guān)鍵字,用于聲明變量倒慧。 變量聲明塊用于聲明該存儲過程需要用到的變量按摘,它的作用域為該存儲過程。另外這里聲明的變量必須指定寬度纫谅。
  • 過程語句塊:從begin 關(guān)鍵字開始為過程的語句塊炫贤。存儲過程的具體邏輯在這里來實現(xiàn)。
  • 異常處理塊:關(guān)鍵字為exception 付秕,為處理語句產(chǎn)生的異常兰珍。該部分為可選 。
  • 結(jié)束塊:由end關(guān)鍵字結(jié)束询吴。
  • 存儲過程的參數(shù)傳遞方式 :
    - 存儲過程的參數(shù)傳遞有三種方式:IN,OUT,IN OUT .
    - IN 按值傳遞掠河,并且它不允許在存儲過程中被重新賦值。如果存儲過程的參數(shù)沒有指定存參數(shù)傳遞類型猛计,默認為IN
         create or replace procedure proc1(   
           p_para1 varchar2,   
           p_para2 out varchar2,   
           p_para3 in out varchar2   
         )as    
          v_name varchar2(20);   
         begin   
           p_para1 :='aaa';   
           p_para2 :='bbb';   
          v_name := '張三豐';   
           p_para3 := v_name;   
           dbms_output.put_line('p_para3:'||p_para3);   
           null;   
         end; 
  • OUT 參數(shù):作為輸出參數(shù)唠摹,需要注意,當一個參數(shù)被指定為OUT類型時奉瘤,就算在調(diào)用存儲過程之前對該參數(shù)進行了賦值勾拉,在存儲過程中該參數(shù)的值仍然是NULL.

  • IN OUT 是真正的按引用傳遞參數(shù)。即可作為傳入?yún)?shù)也可以作為傳出參數(shù)盗温。

總結(jié):

作為一個新生程序猿藕赞,Damon希望能夠與大家一同進步。文章或者描述有所不足的地方肌访,希望大家多多提出來找默,一同進步。

Damon會繼續(xù)發(fā)掘一些有用的咨詢吼驶,知識以及新工具,與大家一同分享店煞,謝謝蟹演!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市顷蟀,隨后出現(xiàn)的幾起案子酒请,更是在濱河造成了極大的恐慌,老刑警劉巖鸣个,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羞反,死亡現(xiàn)場離奇詭異布朦,居然都是意外死亡,警方通過查閱死者的電腦和手機昼窗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門是趴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人澄惊,你說我怎么就攤上這事唆途。” “怎么了掸驱?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵肛搬,是天一觀的道長。 經(jīng)常有香客問我毕贼,道長温赔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任鬼癣,我火速辦了婚禮陶贼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扣溺。我一直安慰自己骇窍,他們只是感情好,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布锥余。 她就那樣靜靜地躺著腹纳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驱犹。 梳的紋絲不亂的頭發(fā)上嘲恍,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天,我揣著相機與錄音雄驹,去河邊找鬼佃牛。 笑死,一個胖子當著我的面吹牛医舆,可吹牛的內(nèi)容都是我干的俘侠。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼蔬将,長吁一口氣:“原來是場噩夢啊……” “哼爷速!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起霞怀,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤惫东,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體廉沮,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡颓遏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了滞时。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叁幢。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漂洋,靈堂內(nèi)的尸體忽然破棺而出遥皂,到底是詐尸還是另有隱情,我是刑警寧澤刽漂,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布演训,位于F島的核電站,受9級特大地震影響贝咙,放射性物質(zhì)發(fā)生泄漏样悟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一庭猩、第九天 我趴在偏房一處隱蔽的房頂上張望窟她。 院中可真熱鬧,春花似錦蔼水、人聲如沸震糖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吊说。三九已至,卻和暖如春优炬,著一層夾襖步出監(jiān)牢的瞬間颁井,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工蠢护, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留雅宾,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓葵硕,卻偏偏與公主長得像眉抬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子懈凹,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內(nèi)容