首页 > 数据库 > 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;、测试 这个过程,那末 把变量 带进即可以或许 测试>
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23070346/viewspace-1116893/ ,如需转载,请注明出处,否则将追究法律责任。