HTML/JavaScript in sqlplus


REM sqlplus script to compare 2 tables, shows different column values in color
REM using my PL/SQL procedure compareTabs (http://aus-oracle.blogspot.com/2009/04/how-to-compare-2-tables-data.html)
accept table_old prompt table_old:
accept table_new prompt table_new:
accept owner_old prompt owner_old:
accept owner_new prompt owner_new:
SET MARKUP HTML ON SPOOL ON HEAD -
'<SCRIPT> -
    function deleteColumn(tblId, colNum) -
    { -
       var allRows = document.getElementById(tblId).rows; -
       for (var i=0; i<allRows.length; i++) { -
          if (allRows[i].cells.length > colNum) { -
          } -
       } -
    } -
    function start() { -
      var va = new Array(99); -
      var index_va = -1; -
      var table = document.getElementsByTagName("table")[0]; -
      table.setAttribute("id","tableid"); -
      var tr = table.getElementsByTagName("tr"); -
      for (j = 1; j < tr.length - 1; j = j + 1) { -
        var tr1 = table.getElementsByTagName("tr")[j]; -
        var tr2 = table.getElementsByTagName("tr")[j+1]; -
         -
        var tdAr1 = tr1.getElementsByTagName("td"); -
        var tdAr2 = tr2.getElementsByTagName("td"); -
        for (i = 0; i < tdAr1.length; i++) { -
            if (tdAr2[i].innerHTML != tdAr1[i].innerHTML) { -
                tdAr1[i].bgColor = "#00ffff"; -
                tdAr2[i].bgColor = "#00ffff"; -
                va[i] = 1; -
            } -
      } -
        } -
      for (j = 1; j < tr.length - 1; j = j + 2) { -
        var tr1 = table.getElementsByTagName("tr")[j]; -
        var tr2 = table.getElementsByTagName("tr")[j+1]; -
         -
        var tdAr1 = tr1.getElementsByTagName("td"); -
        var tdAr2 = tr2.getElementsByTagName("td"); -
        for (i = 0; i < tdAr1.length; i++) { -
            if (tdAr2[i].innerHTML != tdAr1[i].innerHTML) { -
                tdAr1[i].bgColor = "#90EE90 "; -
                tdAr2[i].bgColor = "#90EE90 "; -
                va[i] = 1; -
            } -
      } -
        } -
      for (i = 0; i < va.length; i++) { -
         index_va++; -
         if (i == 0) { -
            continue; -
         } -
         if (va[i] != 1) -
            { -
            index_va--; -
            } -
      } -
    } -
</SCRIPT>' -
BODY onload="start()"

set linesize 32767
set termout off
set timing off
spool test.html
exec compareTabs(:vc, '&table_old', '&table_new', p_owner1 => '&owner_old', p_owner2 => '&owner_new');
spool off
host start test.html
SET MARKUP HTML OFF
set termout on
 

Комментариев нет:

Отправить комментарий

Update BLOB

set define off DECLARE    vb1 CLOB := 'long text';    vb2 CLOB :=                 'long text';    vb3 CLOB :=              ...