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;