Oracle
 sql >> база данни >  >> RDS >> Oracle

Преброяване не. на записи от множество таблици; Oracle DB

Можете да използвате функцията DBMS_XMLGEN.GETXMLTYPE, за да направите това с един изстрел:

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.

Но ако вашата схема съдържа много данни, това може да отнеме много време. Само избирането на NUM_ROWS може да е достатъчно, ако оценките също са наред.

Поздрави,
Роб.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изходът на Oracle е различен в SQL Developer и excel

  2. Как да върна няколко реда чрез pl/sql съхранена функция?

  3. Как да създадете вложена таблица като обект на база данни в Oracle

  4. Автоматично генериране на ключове в хибернация с MySQL и Oracle

  5. Засегнатите редове на Oracle JDBC batchUpdate винаги са -2 (Statement.SUCCESS_NO_INFO)