Oracle
 sql >> Base de données >  >> RDS >> Oracle

Compte non. des enregistrements de plusieurs tables ; Base de données Oracle

Vous pouvez utiliser la fonction DBMS_XMLGEN.GETXMLTYPE pour le faire en une seule fois :

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.

Mais si votre schéma contient beaucoup de données, cela peut prendre beaucoup de temps. Il suffit de sélectionner NUM_ROWS si les estimations sont correctes également.

Cordialement,
Rob.