ORACLE資料庫中如何除錯Type

2021-08-27 10:51:19 字數 2140 閱讀 2187

一般碰到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會有延遲,看的歷史的效能診斷資訊,最大可能...