在oracle中,存儲過程測試有兩種方式,一般都會現在存儲過程執行完後,在左邊列表找到對應存儲過程右鍵測試;而利用sql代碼進行測試的方式很少有人使用,所已當使用存儲過程爲接口時,就可以利用代碼方式進行調用,以測試是否能夠調通存儲過程和是否存在錯誤(一般接口內容不對外公佈),下面代碼爲利用sql代碼調用存儲過程示例:
declare
-- Local variables here
i integer;
type sys_cur is ref cursor; --定義遊標類型
c_cur sys_cur; --定義遊標記錄類型
--定義接收後輸出用的類型
type type_cur is record(
DEPARTNUM varchar2(20),
DEPARTNAME varchar2(20),
FHDEPARTNUM varchar2(20),
msg varchar2(20),
msgcode varchar2(20)
);
out_cur type_cur;
result VARCHAR2(2000):=''; --結果
begin
platform_depart(2,c_cur); ---參數說明:參數1是入參,參數2是出參
--open v_cur ;
LOOP --循環獲取記錄集 BEGIN
FETCH c_cur into out_cur; --將遊標記錄集合裏面的記錄循環賦值給out_cur,以便輸出
IF c_cur%FOUND THEN --遊標的FOUND屬性判斷是否有記錄
--BEGIN
result:= out_cur.DEPARTNUM||';'||out_cur.DEPARTNAME||';'||out_cur.FHDEPARTNUM||';'||out_cur.msg||':'||out_cur.msgcode;
DBMS_OUTPUT.PUT_LINE(result);
--END;
ELSE
EXIT; --遊標中的記錄爲空 退出
END IF; --結束IF語句
END LOOP; --循環獲取記錄集 END
end;