sql代碼測試存儲過程

在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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章