User Tools

Site Tools


using_dbms_xmlgen_as_a_means_of_dynamic_sql

This is an old revision of the document!


Using_dbms_xmlgen_as_a_means_of_dynamic_SQL

select table_name , to_number( extractvalue( xmltype( dbms_xmlgen.getxml( 'select count(*) c from '||table_name) ),'/ROWSET/ROW/C') ) count from user_tables;

TABLE_NAME COUNT —————————— —— DEPT 4 EMP 14 BONUS 0 SALGRADE 5

A more complex example

SQL> create table mpi_memgc(x number, y varchar2(10), z varchar2(10)) Table created. SQL> insert into mpi_memgc values (1,'bla','bli ') 1 row created. SQL> commit Commit complete.

SQL> select

 'select count(*) c from "'||table_name||'" where "'||column_name||
    '" like //% // or "'||column_name||
    '" like // %** query,
table_name,column_name,
to_number(extractvalue(xmltype(dbms_xmlgen.getxml(
  'select count(*) c from "'||table_name||'" where "'||column_name||
    '" like //% // or "'||column_name||
    '" like // %**)),'/ROWSET/ROW/C')) count

from user_tab_columns where table_name like 'MPI_MEMGC%' and table_name not like '%_H' and data_type = 'VARCHAR2' order by 1;

QUERY


TABLE_NAME COLUMN_NAME COUNT —————————— —————————— ———- select count(*) c from “MPI_MEMGC” where “Y” like '% ' or “Y” like ' %' MPI_MEMGC Y 0

select count(*) c from “MPI_MEMGC” where “Z” like '% ' or “Z” like ' %' MPI_MEMGC Z 1

using_dbms_xmlgen_as_a_means_of_dynamic_sql.1544273361.txt.gz · Last modified: 2018/12/08 12:49 by 0.0.0.0

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki