sql >> データベース >  >> RDS >> Oracle

数えない複数のテーブルからのレコードの; Oracle DB

    DBMS_XMLGEN.GETXMLTYPE関数を使用して、これを1回で実行できます。

    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. Androidルーム:列の名前変更を移行する方法は?

    2. Group_ConcatおよびConcatを使用した場合のMySQLの結果の切り捨て

    3. SQL ServerのCHOOSE()関数に相当するMySQLとは何ですか?

    4. エラー:gemネイティブ拡張のビルドに失敗しました-mysql2のインストール中にエラーが発生しました