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; /*
上面就是一個最簡單的存儲過程。一個存儲過程大體分為這麼幾個部分: 創建語句:create or replace procedure 存儲過程名 如果沒有or replace語句,則僅僅是新建一個存儲過程。如果系統存在該存儲過程,則會報錯。Create or replace procedure 如果系統中沒有此存儲過程就新建一個,如果系統中有此存儲過程則把原來刪除掉,重新創建一個存儲過程。 存儲過程名定義:包括存儲過程名和參數列表。參數名和參數類型。參數名不能重復, 參數傳遞方式:IN, OUT, IN OUT IN 表示輸入參數,按值傳遞方式。 OUT 表示輸出參數,可以理解為按引用傳遞方式。可以作為存儲過程的輸出結果,供外部調用者使用。 IN OUT 即可作輸入參數,也可作輸出參數。 參數的數據類型只需要指明類型名即可,不需要指定寬度。 參數的寬度由外部調用者決定。 過程可以有參數,也可以沒有參數 變量聲明塊:緊跟著的as (is )關鍵字,可以理解為pl/sql的declare關鍵字,用於聲明變量。 變量聲明塊用於聲明該存儲過程需要用到的變量,它的作用域為該存儲過程。另外這裡聲明的變量必須指定寬度。遵循PL/SQL的變量聲明規范。 過程語句塊:從begin 關鍵字開始為過程的語句塊。存儲過程的具體邏輯在這裡來實現。 異常處理塊:關鍵字為exception ,為處理語句產生的異常。該部分為可選 結束塊:由end關鍵字結果。 */