三、過程與函數
PL/SQL中的過程和函數與其他語言的過程和函數的概念一樣,都是為了執行一定的任務而組合在一起的語句。過程無返回值,函數有返回值。其語法結構為:
過程:Create or replace procedure procname(參數列表) as PL/SQL語句塊
函數:Create or replace function funcname(參數列表) return 返回值 as PL/SQL語句塊
這裡為了更為方面的說明過程的運用,下面給出一個示例:
問題:假設有一張表t1,有f1和f2兩個字段,f1為number類型,f2為varchar2類型,然後往t1裡寫兩條記錄,內容自定。
Create or replace procedure test_procedure as
V_f11 number :=1; /*聲明變量並賦初值*/
V_f12 number :=2;
V_f21 varchar2(20) :=’first’;
V_f22 varchar2(20) :=’second’;
Begin
Insert into t1 values (V_f11, V_f21);
Insert into t1 values (V_f12, V_f22);
End test_procedure; /*test_procedure可以省略*/
至此,test_procedure存儲過程已經完成,然後經過編譯後就可以在其他PL/SQL塊或者過程中調用了。由於函數與過程具有很大的相似性,所以這裡就不再重復了。
四、游標
這裡特別提出游標的概念,是因為它在PL/SQL的編程中非常的重要。其定義為:用游標來指代一個DML SQL操作返回的結果集。即當一個對數據庫的查詢操作返回一組結果集時,用游標來標注這組結果集,以後通過對游標的操作來獲取結果集中的數據信息。定義游標的語法結構如下:
cursor cursor_name is SQL語句;
在本文第一段代碼中有一句話如下: