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;

测试 这个过程,那么 把变量 带入就可以 测试

oracle触发器的测试,ORACLE触发器的测试相关推荐

  1. Oracle触发器详细 和 Oracle 创建序列号

    由于这段时间要导入旧的数据库数据到新的数据库中,然而旧的数据库和新的数据库有些表的设计或字段不一样, 需要用到触发器,比如新的数据库a表有aid的主键字段(或自动递增),而旧的数据库a表没有aid的主 ...

  2. Oracle一张表写多个触发器,详解oracle中通过触发器记录每个语句影响总行数

    详解oracle中通过触发器记录每个语句影响总行数 需求产生: 业务系统中,有一步"抽数"流程,就是把一些数据从其它服务器同步到本库的目标表.这个过程有可能 多人同时抽数,互相影响 ...

  3. oracle触发器判断空值,oracle触发器加条件判断、dblink

    --新增基站同步给电池组信息 create or replace trigger a_b_test after insert or update or delete on BJLT.BASESTATI ...

  4. oracle数据库触发器是否生效,Oracle数据库触发器

    第一次写触发器,浪费了一个小时,少了一个;编译不通过 当A表有更新或插入数据时,则触发器执行向B表插入对应条件的数据 1 CREATE OR REPLACE TRIGGER Test -- 触发器名称 ...

  5. LoadRunner 测试Oracle数据库及Siebel性能

    本次测试使用的loadrunner 版本为8.1,oracle数据库版本为10.2.0.1,各版本的测试方法基本是一样的.这里提供loadrunner 8.1,10000个web用户的license: ...

  6. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  7. oracle instead of update触发器,Oracle中的instead of触发器

    Instead of : 用Trigger的内容替换 事件本身的动作,该触发器用在视图上,举例: 一:创建一个update替代触发器 (1)创建一个视图 1 create or replace vie ...

  8. ORACLE查出表所有的触发器及触发器详细信息

    ORACLE查出表所有的触发器及触发器详细信息 一.查all_triggers表得到trigger_name Sql代码 select trigger_name from all_triggers w ...

  9. oracle数据库触发器删除不,Oracle之后删除触发器

    本Oracle教程解释了如何在Oracle中创建Before Delete触发器的语法和示例. Before Delete触发器表示Oracle将在执行删除操作之前触发此触发器. 语法 在Oracle ...

  10. oracle 11g rman catalog,Oracle 11g RMAN复制数据库的测试

    RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库.分别进行测试 我们把要复制的数据库称为源数据库(SOURCE DB=orcl),复制后的数据库成为目标数据库(TARGET ...

最新文章

  1. 拨开云雾见天日:剖析单机事务原理
  2. 数据仓库—stg层_手把手教你创建BI数据仓库STG层
  3. html5 canvas实际应用,Html5 Canvas入门及经典应用
  4. 英国如何推动分享经济的发展?
  5. 1443B. Saving the City
  6. VIM学习笔记 配置文件(vimrc)
  7. android php 项目代码混淆,Android Studio配置反混淆的实现
  8. python本科毕业论文范文_【软件工程论文】软件工程论文范文(共40篇)
  9. 网络层传输协议(详解)
  10. win10系统word2019显示目录只显示部分一级二级解决办法
  11. python协程多线程HTMLParser下载mp3
  12. 哈工大计算机网络第一章——计算机网络概述复习
  13. android10加载图片问题解决思路全程记录 FileNotFoundException: /content:/media/external/images
  14. 微信小程序项目源码springboot在线考试系统小程序+后台管理系统|前后分离VUE.js
  15. IEEE免费论文下载
  16. 前端框架Vue中各个文件夹的具体作用简介
  17. JS模块化的'前世今生'
  18. 关于解决用i标签做图标不能显示的问题
  19. 阿里云OSS存储服务器
  20. Linux中的source 命令

热门文章

  1. JavaScript实现detectDirectedCycle检测定向循环算法(附完整源码)
  2. Wilcox:子类化顶级窗口
  3. wxWidgets:wxPython 概述
  4. boost::sort模块spreadsort 字符串函子反向排序示例
  5. boost::mpi模块threading::level operations
  6. boost::mp11::mp_max相关用法的测试程序
  7. boost::intrusive::set用法的测试程序
  8. boost::geometry::disjoint用法的测试程序
  9. boost::detail::lowest_bit的测试程序
  10. ITK:读取网格并显示2个给定顶点之间的欧几里得距离