关于Oracle存储过程测试

常规方式保存测试信息

创建相关数据表

创建数据表TestInfoLog,和序列号SEQ_TestInfoLog

参考当前目录下的 TestInfoLog.sql ,运行这部分脚本。

创建测试信息保存包

创建一个测试信息保存的 Package

参考当前目录下的 PKG_Test_Info.pck,编译这个包。

具体例子

例子1

在一个PL/SQL块中使用测试包来保存测试信息,参考当前目录下的 example1.sql

-- 简单使用的一个例子,结果查询

select * from TESTINFOLOG
  declare
  i integer :=1;
  begin
  PKG_Test_Info.clearAllLogInfo;
  PKG_Test_Info.setLogContext('匿名块测试','无',1);
  PKG_Test_Info.logInfo('i=1');
  PKG_Test_Info.logInfo('当前日期='||To_char(sysdate,'yyyy-mm-dd'));
  end;

例子2

在一个存储过程中保存测试信息

参考当前目录下的Test_PKG_Test_Info.prc

---在存储过程中保存测试信息,结果查询 select * from TESTINFOLOG

  create or replace procedure Test_PKG_Test_Info(p_Param1 int,
  p_Param2 int,
  p_保存日志信息 int default 1) is
  begin
  if(p_保存日志信息)=1 then
  PKG_Test_Info.clearAllLogInfo;
  PKG_Test_Info.setLogContext('存储过程测试', 'Test_PKG_Test_Info', 1);
  
  PKG_Test_Info.logInfo('p_Param1='||to_char(p_Param1)||',p_Param2='
  ||to_char(p_Param2));
  end if;
  end ;

卸载脚本

参考 uninsall.sql ,如果需要卸载运行这个脚本

其它的方式保存测试信息

Log4plsql的介绍

Log4plsql是一个open source的工具,是一个在Oralce PL/SQL 下实现的LOG框架。

Log4plsql 是基于log4J 演化得来的。

相关站点

http://log4plsql.sourceforge.net/

http://sourceforge.net/projects/log4plsql/

时间: 2024-08-03 11:21:02

关于Oracle存储过程测试的相关文章

大家一起分享C#调用oracle存储过程

oracle|存储过程 大家一起分享C#调用oracle存储过程 执行结果 ?????? ? ?????? ? ????? ? Oracle方面 1.创建Oracle过程存储 create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)as? varparam varchar2(28);begin? varparam:=paramin;? p

C#调用oracle存储过程 最简单的实例

oracle|存储过程   Oracle方面1.创建Oracle过程存储create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)as  varparam varchar2(28);begin  varparam:=paramin;  paramout:=varparam|| paraminout;  end;2.测试过程存储declare

ASP.NET调用oracle存储过程实现快速分页

asp.net|oracle|存储过程|分页 包定义:  create or replace package MaterialManage is  TYPE T_CURSOR IS REF CURSOR;  Procedure Per_QuickPage  (  TbName         in   varchar2,     --表名  FieldStr       in   varchar2,     --字段集  RowFilter      in   varchar2,     --过

oracle存储过程返回数组的方法

oracle 存储过程返回数组的方法: 1.建立包 create or replace package test isTYPE filename_array IS TABLE OF varchar2(1);filename filename_array;end test; 2. 建立存储过程 create or replace procedure test_array(v_cfjg out test.filename_array ) isbegin DECLARE i number;D_cfjg

在JDBC中取得Oracle存储过程动态结果集

1. 关于oracle和结果集 其实在大多数情况下,我们并不需要从oracle存储过程里返回一个或多个结果集,除非迫不得已. 如果大家用过MS SQL Server或Sybase SQL Server,那么从存储过程返回一个动态的结果集是一件非常容易的事情,只要在存储过程结束时写上 "select column1,column2,.... from table_list where condition" 就可以了. 但在Oracle中不能这样做. 我们必须使用Oracle Cursor

Oracle存储过程本地编译方式

  通常将Oracle存储过程编译为本地编译方式的测试记录. 测试用表: ? 1 2 3 4 5 6 7 SQL> create table t1(rid number);    Table created    SQL> create table t_n(rid number);    Table created 测试用的存储过程: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 create or replace procedure pro_xcl(p1 varchar2)

oracle11g-vs2012调用oracle存储过程返回输出字符串的值的问题

问题描述 vs2012调用oracle存储过程返回输出字符串的值的问题 vs2012调用oracle存储过程返回输出字符串的值的问题,在plsql中执行存储过程是没有问题的,输出的字符串也有值,但在vs中取输出参数的值时,此字符串的值为null,但 如果输出为整数,则可以得到返回值. 解决方案 贴出你的代码看看.你的参数传的对不对 解决方案二: OracleConnection conn = new OracleConnection(connstr); conn.Open(); OracleCo

php oci clob-PHP OCI执行oracle存储过程如何传递CLOB参数

问题描述 PHP OCI执行oracle存储过程如何传递CLOB参数 _下面的代码有关于测试数据表test_clob,以及插入记录的存储过程test_p_saveclob .代码如下: #!/opt/php/bin/php -q <?php // 参考:http://www.golaravel.com/php/function.oci-new-descriptor.html // 参考:http://php.net/manual/zh/function.oci-bind-by-name.php

oracle存储过程字符串数组参数得不到值?

问题描述 应用程序传递到oracle存储过程的字符串数组参数得不到值,都是空值.但是number数组没有问题?请问各位兄弟姐妹,有什么解决的办法?下面是我的代码:/**自定义number数组**/createorreplacetypearray_numistableofnumber;/**自定义varchar2数组**/createorreplacetypearray_varchar2_50istableofvarchar2(50);/**测试存储过程**/createorreplaceproc