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

会心の一撃的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 が壊れていることが判り、削除し解決した。 なんでこんなものが壊れたのかは不明…

Oracle 10gのsqlplus…日本語のメッセージが出ない(>_<")

データの日本語は表示されるのに、sqlplusからのメッセージは全部英語… なんでだぁ~((+_+)) 「oracle 10g sqlplus 日本語メッセージ」でググっても、ろくな情報集まらない 誰か教えてくれぇ~ ↑ 日本語のメッセージが出ない理由がわかった… インストール時に言語選択で日本語を選択しなかった為だった… それも、オレがインストールした方法だと、その言語選択画面が出ないこともわかった(>_<") こりゃ、罠だ… Oracleへはまだ問い合わせしていないので、ただしい対応方法はわからないが… 日本語を選択し正しくインストールされたデータベースの***.msbファイルをコピーしてやることで日本語のメッセージが表示できるようだ。 実際には… 正しく表示される \sqlplus\mesg の中にあるファイルを日本語が表示されないOracleにコピーしてやれば日本語が表示されるようになる。 Oracle10.1.0.2から10.1.03へのパッチをあててあるので、インストーラーから言語の追加のインストールは出来ない… 対応方法誰か教えて(@o@)