十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
1.存儲(chǔ)過程結(jié)構(gòu) 1.1 第一個(gè)存儲(chǔ)過程 create or replace procedure proc1( p_para1 varchar2, p_para2 out varchar2, p_para3 in out varchar2 )as v_name varchar2(20); begin v_name := '張三豐'; p_para3 := v_name; dbms_output.put_line('p_para3:'||p_para3); end;
/* 上面就是一個(gè)最簡(jiǎn)單的存儲(chǔ)過程。一個(gè)存儲(chǔ)過程大體分為這么幾個(gè)部分: 創(chuàng)建語(yǔ)句:create or replace procedure 存儲(chǔ)過程名 如果沒有or replace語(yǔ)句,則僅僅是新建一個(gè)存儲(chǔ)過程。如果系統(tǒng)存在該存儲(chǔ)過程,則會(huì)報(bào)錯(cuò)。Create or replace procedure 如果系統(tǒng)中沒有此存儲(chǔ)過程就新建一個(gè),如果系統(tǒng)中有此存儲(chǔ)過程則把原來(lái)刪除掉,重新創(chuàng)建一個(gè)存儲(chǔ)過程。 存儲(chǔ)過程名定義:包括存儲(chǔ)過程名和參數(shù)列表。參數(shù)名和參數(shù)類型。參數(shù)名不能重復(fù), 參數(shù)傳遞方式:IN, OUT, IN OUT IN 表示輸入?yún)?shù),按值傳遞方式。 OUT 表示輸出參數(shù),可以理解為按引用傳遞方式。可以作為存儲(chǔ)過程的輸出結(jié)果,供外部調(diào)用者使用。 IN OUT 即可作輸入?yún)?shù),也可作輸出參數(shù)。 參數(shù)的數(shù)據(jù)類型只需要指明類型名即可,不需要指定寬度。 參數(shù)的寬度由外部調(diào)用者決定。 過程可以有參數(shù),也可以沒有參數(shù) 變量聲明塊:緊跟著的as (is )關(guān)鍵字,可以理解為pl/sql的declare關(guān)鍵字,用于聲明變量。 變量聲明塊用于聲明該存儲(chǔ)過程需要用到的變量,它的作用域?yàn)樵摯鎯?chǔ)過程。另外這里聲明的變量必須指定寬度。遵循PL/SQL的變量聲明規(guī)范。 過程語(yǔ)句塊:從begin 關(guān)鍵字開始為過程的語(yǔ)句塊。存儲(chǔ)過程的具體邏輯在這里來(lái)實(shí)現(xiàn)。 異常處理塊:關(guān)鍵字為exception ,為處理語(yǔ)句產(chǎn)生的異常。該部分為可選 結(jié)束塊:由end關(guān)鍵字結(jié)果。 */