oracle触发器的测试,ORACLE触发器的测试
1.打開并登錄pl/sql,File->New->Test Window;
2.在出現的窗口中的begin后輸入腳本,該語句應該能夠調用存儲過程、函數,或語句能觸發觸發器;
比如我為某個表users的insert操作建立了觸發器,那么test中的語句就是
update TABLE1
或者
INSERT TABLE2
注意sql語句結尾不需要加分號。
3.這時候如果直接在測試窗口執行F9,不會進入調試狀態,也不會執行上邊的插入語句。需要在trigger右擊,選中“添加調試信息”。
4. 這時F9進入調試狀態,顯示trigger創建語句,窗口上邊有調試方式的按鈕,分別是:運行、逐行調試、跳過方法調試、運行至下個斷點、運行至下個異常點。
5.調試過程中可以把鼠標放在變量上,就可以看到變量的當前值。
如果要調試存儲過程、方法,可直接右鍵就有“Test”。
查看變量還可以隨時在varible List中輸入我們想查看的變量,回車,即可看到。
注意 這個 要求 ORACLE 為8.17I 版本以上的
還有一個調試方法是 將TIRIGER中 BEGIN 開始的部分做一個存儲過程
然后測試 這個存儲過程
create or replace procedure test_bal_ic_total(store_no number,
ref_no number,
total_net_amnt number,
net_amnt number,
appr_date date,
automatic number) is
begin
DECLARE
vstore_no number(2);
vref_no number(6);
vtotal_net_amnt number(15, 2);
vnet_amnt number(15, 2);
vappr_date date;
vautomatic number(1);
vcheckflag number(1);
vord_no number(6);
vord_year varchar2(4);
updatenorow exception;
BEGIN
if sqlcode = -1403 then
raise updatenorow;
end if;
vstore_no := store_no;
vref_no := ref_no;
vtotal_net_amnt := total_net_amnt;
vnet_amnt := net_amnt;
vappr_date := appr_date;
vautomatic := automatic;
if (vautomatic = 0) then
vcheckflag := 3;
else
vcheckflag := 2;
end if;
select ord_no, to_char(ord_date, 'yyyy')
into vord_no, vord_year
from orders
where (store_no, ord_no) in
(select store_no, ord_no
from ord_ref
where store_no = vstore_no
and ref_no = vref_no);
update bal_ic_total
set perc = decode(round((vtotal_net_amnt - vnet_amnt) * 100 /
vnet_amnt,
2),
14.94,
14.943,
round((vtotal_net_amnt - vnet_amnt) * 100 /
vnet_amnt,
0)),
amount_vat = vtotal_net_amnt - vnet_amnt,
ic_total_net_amnt = vtotal_net_amnt,
diff_total_net_amnt = ord_total_net_amnt - vtotal_net_amnt,
checkflag = vcheckflag,
appr_date = vappr_date
where store_no = vstore_no
and ord_no = vord_no
and ord_total_net_amnt >= 0
and checkflag != 4
and ord_year = vord_year
and flag = 0;
exception
when updatenorow then
null;
when others then
dbms_output.put_line(to_char(sqlcode));
END;
end test_bal_ic_total;
、
測試 這個過程,那么 把變量 帶入就可以 測試
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的oracle触发器的测试,ORACLE触发器的测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公安政保大队长职责是什么呢
- 下一篇: 士官转业省里审批通过,县里还审吗?