今天有一存儲過程調用時報錯, 想dubeg下查找問題 . 但是由於一入參爲CLOB類型(如果爲VARCHAR2,只支持2000長度),利用PL/SQL自身的測試功能測試時,v_doc 填入參數在運行方法是不會被傳進去,所以這個參數會爲null.所以這樣無法直接測試此存儲過程。
測試方式:
1、將CLOB 類型的入參存入一張測試表的CLOB類型的字段中。
2、直接寫腳本將此參數取出並以入參傳入指定存儲過程。
入下圖所示:
-- Created on 2018/11/5 by LX
declare
-- Local variables here
v_doc CLOB;
begin
-- Test statements here
select testlob into v_doc from CLOB_TEST t where rq = to_date('2018-10-5 16:48:09','yyyy-MM-dd HH24:MI:SS');
-- Call the procedure
pkg_contract_mgr_new.submitcontract('',
v_doc,
v_ret => :v_ret,
v_desc => :v_desc,
v_sid => :v_sid);
end;