一般碰到oracle有需要除錯儲存過程引數中有是type、list集合的時候,一般除錯起來都比較麻煩。
現在用一種比較簡單的方式展現下
type**
--子type
create or replace type rss_str_object_type is object
(str_value varchar2(200)
);grant execute on rssdata.rss_str_object_type to rssopr;
grant execute on rssdata.rss_str_object_type to r_rssdata_exec;
--父type**
create or replace type rss_str_object_type_list is table of rssdata.rss_str_object_type
grant execute on rssdata.rss_str_object_type_list to rssopr;
grant execute on rssdata.rss_str_object_type_list to r_rssdata_exec;
2.簡單的儲存過程
procedure rss_test_type_list_pro(in_rss_str_object_type_list in rss_str_object_type_list,
out_retcode out varchar2,
out_message out varchar2) is
i number;
begin
--修改對計數器賦值應該放到loop外面
i := in_rss_str_object_type_list.first;
loop
insert into test
(d)values
(in_rss_str_object_type_list(i).str_value);
exit when i = in_rss_str_object_type_list.last;
i := in_rss_str_object_type_list.next(i);
end loop;
exception
when others then
out_retcode := '9';
out_message := '[rss_test_type_list_pro]錯誤資訊' || sqlcode || ',' ||
substr(sqlerrm, 1, 120);
end rss_test_type_list_pro;
3. 除錯的時候的儲存過程匿名塊書寫
declare
-- 首先初始化這個需要測試的物件 建立乙個物件
in_rss_str_object_type_list rss_str_object_type_list:= rss_str_object_type_list();
-- 再對其中需要測試的乙個集合變數m1賦值
in_rss_str_object_type_m1 rss_str_object_type := rss_str_object_type('深圳常興支行');
begin
-- 呼叫儲存過程的時候開始
in_rss_str_object_type_list.extend();
--將成員m1賦值給集合的最後乙個元素
in_rss_str_object_type_list(in_rss_str_object_type_list.last) := in_rss_str_object_type_m1;
rss_test.rss_test_type_list_pro(in_rss_str_object_type_list => in_rss_str_object_type_list,
out_retcode => :out_retcode,
out_message => :out_message);
end;
Oracle 資料庫中如何收集AWR Report
oracle 資料庫中如何收集awr report awr automated workload repository 自動負載資訊庫 永久地儲存系統的效能診斷資訊,由sys使用者擁有。有時候為了效能診斷,你可能需要自己定義取樣頻率來獲取系統快照資訊。oracle 10g在包dbms workloa...
Oracle 資料庫中如何收集AWR Report
oracle 資料庫中如何收集awr report awr automated workload repository 自動負載資訊庫 永久地儲存系統的效能診斷資訊,由sys使用者擁有。有時候為了效能診斷,你可能需要自己定義取樣頻率來獲取系統快照資訊。oracle 10g在包dbms workloa...
Oracle 資料庫中如何收集ASH Report
oracle 資料庫中如何收集ash report ash active session history 活動會話歷史記錄 臨時地儲存系統當前的效能診斷資訊。和awr不同,ash是儲存記憶體之中,當ash分配的空間用光的時候,新的記錄會覆蓋掉舊的記錄 awr會有延遲,看的歷史的效能診斷資訊,最大可能...