全テーブルのレコード数を出力する
http://laurentschneider.com/wordpress/2007/04/how-do-i-store-the-counts-of-all-tables.html
の記事によると
全テーブルのレコード数を出力するには以下のSQLで可能らしいです。
SELECT table_name, TO_NUMBER( extractvalue( xmltype( dbms_xmlgen.getxml('SELECT COUNT(*) c FROM '||table_name)) ,'/ROWSET/ROW/C')) count FROM user_tables;
しかし、この程度であればPL/SQLを使用して、下記のように書けばいいと思います。
DECLARE CURSOR c1 IS SELECT table_name, CONSTRAINT_name FROM user_constraints WHERE index_name IS NOT NULL; BEGIN FOR r1 IN c1 LOOP SELECT r1.table_name AS table_name ,COUNT(*) AS count FROM r1.table_name; END LOOP; END; /
PL/SQLを習得する方が、いろいろと応用がきくと思うのですが、世の中的にPL/SQLは受け入れられてないんでしょうか。。