sqlplus中调用plsql存储过程

alter session set nls_language=american;

accept P_OWNER1 prompt 'INPUT TABLE1 OWNER:'/*接受控制台输入*/
accept P_TABLE1 prompt 'INPUT TABLE1 NAME:'
accept P_OWNER2 prompt 'INPUT TABLE2 OWNER:'
accept P_TABLE2 prompt 'INPUT TABLE2 NAME:'

set linesize 1000
set term off verify off feedback off pagesize 999
set serveroutput on
SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP ON -
HEAD " -

-<BR><!-- BODY {background: #FFFFC6} --> -<BR>" -
BODY "TEXT='#FF00Ff'" -
TABLE "WIDTH='90%' BORDER='5' "

/**
* 定义自定义包中的自定义类型
*调用出参为游标的存储过程
*/
/*DECLARE*/
/*   c two_table.type_cols;*//*定义two_table包中的type_cols类型的变量c */
/*  begin*/
/*    two_table.two_tables(c);*/ /*调用two_table包的two_tables过程,返回一个游标。*/
/*end;*/

spool thtml..html --以html样式输出
exec COMPARETABLE.COM_TABLE('&P_OWNER1','&P_TABLE1','&P_OWNER2','&P_TABLE2');
select * from compare_table;

SPOOL OFF

set markup html off entmap off preformat on
set term on verify on feedback on pagesize 14
set linesize 80

  
  
  two_table 包源码
   ------------------------------------------------
  create or replace package two_table is
  
  
  TYPE record_cols IS RECORD(testCase VARCHAR2(100),
   row_number VARCHAR2(100),
   col_number VARCHAR2(100),
   expected VARCHAR2(100),
    actual VARCHAR2(100),
   equal VARCHAR2(100));
  
  TYPE type_cols IS TABLE OF record_cols INDEX BY PLS_INTEGER;--定义嵌套表
  
  PROCEDURE two_tables(p_type_cols OUT type_cols);
  
  end two_table;

可以使用SQLPLUS调试Oracle存储过程,具体步骤如下: 1. 连接到Oracle数据库 首先,需要使用SQLPLUS连接到Oracle数据库,例如: ``` sqlplus username/password@database ``` 其,username为数据库用户名,password为密码,database为数据库名。 2. 设置调试模式 接下来,需要设置存储过程的调试模式,可以使用以下命令: ``` SET SERVEROUTPUT ON SET SERVEROUTPUT ON SIZE UNLIMITED SET SERVEROUTPUT ON FORMAT WRAPPED ``` 这些命令将启用服务器输出,并设置输出格式。SIZE UNLIMITED选项将确保输出不受限制。 3. 编译存储过程 在调试存储过程之前,需要先编译存储过程。可以使用以下命令编译存储过程: ``` ALTER PROCEDURE procedure_name COMPILE; ``` 其,procedure_name为存储过程的名称。 4. 设置断点 可以在存储过程设置断点,以便在执行存储过程时暂停程序执行。可以使用以下命令设置断点: ``` ALTER PROCEDURE procedure_name COMPILE DEBUG; ``` 这将在存储过程编译时启用调试模式,并在存储过程设置断点。 5. 执行存储过程 可以使用以下命令执行存储过程: ``` EXECUTE procedure_name; ``` 在执行存储过程时,程序将在设置的断点处暂停执行,可以使用SQLPLUS的调试命令来查看变量的值,以帮助调试存储过程。 6. 关闭调试模式 完成调试后,可以使用以下命令关闭调试模式: ``` ALTER PROCEDURE procedure_name COMPILE; ``` 这将关闭调试模式并重新编译存储过程。 以上就是在SQLPLUS调试Oracle存储过程的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值