スキップしてメイン コンテンツに移動

会心の一撃的SQL


とある特定のスキーマのテーブルのレコード数をカウントするには…
調べるとXMLなんちゃらを使うといいみたいです。

これを知るまでは、SQLで一旦スクリプトを作って対象テーブルに
select count(*)
見たいなSQLを流した結果を手で編集してたのですが、このSQLを使用すると一発で出力できます。


select
owner, table_name,
to_number(
extractvalue(
xmltype(dbms_xmlgen.getxml('select count(*) c from ' || owner || '.' || table_name))
,'/ROWSET/ROW/C')) "count"
from all_tables
where owner in ('hoge','fufu')
order by owner, table_name;

コメント

このブログの人気の投稿

MySQL NotifierがHigh Severity Errorを出して立ち上がらない…

先日、わしのPCがコンセントが抜けかけが原因で落ちて以来、MySQLのNotifierがエラーを出して立ち上がらなくなった… 1週間放置しておいたが、毎日エラーダイアログが表示されるのも目障りなので、対処してみた。 結果、 %APPDATA%\Oracle\MySQL Notifier にある settings.config が壊れていることが判り、削除し解決した。 なんでこんなものが壊れたのかは不明…