sql >> Base de Datos >  >> RDS >> Oracle

contando no. de registros de varias tablas; base de datos Oracle

Puede usar la función DBMS_XMLGEN.GETXMLTYPE para hacer esto de una sola vez:

SQL> select table_name
  2       , to_number
  3         ( extractvalue
  4           ( dbms_xmlgen.getxmltype('select count(*) c from ' || table_name)
  5           , '/ROWSET/ROW/C'
  6           )
  7         ) cnt
  8    from user_tables
  9   order by table_name
 10  /        

TABLE_NAME                            CNT
------------------------------ ----------
... [output removed] ...

71 rows selected.

Pero si su esquema contiene una gran cantidad de datos, esto puede llevar mucho tiempo. Solo seleccionar NUM_ROWS podría ser suficiente si las estimaciones también son correctas.

Saludos,
Rob.