• ベストアンサー

Oracleにて各テーブルの件数を調べる方法

お世話になります。 Oracleにて各テーブルの件数を調べるSQLをご存知の方おられましたら、教えていただけませんでしょうか。 環境ですが、 Oracle: 8.0.6.0.2 SQL*Plus: 8.0.6.0.0 OS: Soralis SunOS 5.6 Generic 05181-33 July 2002 以上、よろしくお願い致します。

  • Elric
  • お礼率21% (18/82)

質問者が選んだベストアンサー

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.2

こんにちわ。 テーブルの件数ですが、以下の2通りの方法で調べられます。  1) patak さんのおっしゃられているように、    Select count(*) from テーブル名 を実行する。    調べるテーブル数が多いのであれば、テーブル名の部分を    ALL_TABLES 等から取得するようにして、SQL 文を    DBMS_SQL プロシージャから実行する方法があります。  2) テーブルをAnalyze して、ALL_TABLES.NUM_ROWS を取得する。

その他の回答 (1)

  • patak
  • ベストアンサー率23% (108/457)
回答No.1

Select Count(*) from テーブル名; 上記のSQL文を実行すると、テーブルの件数を受け取ることができます。

Elric
質問者

補足

素早い回答、感謝します。 上記SQLにて情報を取得できました。 有難うございました。

関連するQ&A

  • テーブルのレコード件数取得について

    はじめまして。 postgresの「テーブルのレコード件数取得」について教えてください。 何も考えずに select count(*) from tblA; というSQLの記述をしていたのですが、レコード件数が30万件を超えた あたりから、結果が戻るまでに4~5秒もかかるようになりました。 もっと効率の良い(=短い時間)検索方法はあるのでしょうか? ちなみに postgres+C+PC-Soralis の組みあわせです。 マシンはPen4-2Ghz メモリーは512MBです。

  • 複数テーブルでの件数検索について

    Oracle上の2つのテーブルからの条件でマッチする件数をSQLで作成しています。 内容としては、テーブルAの区分=1 かつ テーブルBの種別がスペースの件数です。 テーブルAの該当するデータは10件中3件、テーブルBの該当するデータは50件中15件で、本来両方がマッチするのは2件です。 SELECT COUNT(*) FROM テーブルA,テーブルB WHERE テーブルA.区分 = '1' AND テーブルB.種別 = ' ' ; 上記のSQL文で件数をカウントしたのですが、どうも結果では30件とカウントされてしまいます。 なんとか2件として結果を出したく、参考資料を調べているところなのですが、今のところ参考になる文献が見つからず悩んでます。もし簡単にカウントできるSQLがあったり、分かる方がいれば手助けして頂きたいと思い、今回投稿しますのでご教授賜りたく思います。よろしくお願いします。

  • Oracle 8.1.6で・・・

    Oracle 8.1.6でAccessのようにテーブル構造をみたり、 データをみることのできるユーティリティーはご存知ないでしょうか。 SQL+は使い勝手が最近のviエディタよりもよくないのと、いままでAccessしか 触ったことがないのでなれないということで困っています。 オラクルのユーティリティーの名前自体がバージョンが変わると変わってしまう・・・というのは聞いたことがあるのですが・・・。 よろしくおねがいします。

  • SQL文で他テーブルの件数も同時に求めたい

    SQL文について教えてください。(DBはSQLサーバー2000です。) 以下のように2つのテーブルがあります。Aテーブルのフィールド項目の抽出と、AテーブルのIDフィールドと同じ値のBテーブルの件数を同時に抽出したいのですが、どのように書いてよいか分かりません。恐れ入りますが、教えていただけないでしょうか? テーブルA  ID name Age -------------- 1  太郎 20 2  二郎 35 3 花子 26 テーブルB ID memo ------------------ 1  私は男です 1  東京に住んでます 2  友達が3人います 3 私は彼氏がいます 3  先日TDLに出かけました。 3  ランチはカレーでした。 要約すると、Aテーブルの全情報とテーブルBの件数を同時に抽出したいのです。以下のようなイメージです。 name Age テーブルB件数 ------------------- 太郎、20、 2 二郎、35、 1 花子、26、 3 よろしくお願い致します。

  • ORACLEのテーブルスペースについて

    OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) でSQL*Loaderを実行していたのですが、 "エラーコード -2 STDERR 書込不可"? ↑ (ログを消してしまってはっきりは覚えてないのですが) というエラーログが出力され、その後、ロードする テーブルのTABLESPACEについて "ORA-01536: 表領域 TABLESPACEXXXに対して割り当てられた領域を使い果たしました。" というORACLEのエラーが発生し始めました。 その後、CREATEは上記ORACLEエラーにより実行不可、 その後のINSERTは途中までできていたのですが、途中から 同様のORALCEエラーにより実行不可、 という状態になっています。 (直前まで通常にデータの更新は行えていました) ちなみに該当するTABLESPACEに割り付けられたデータ ファイルにはまだ十分領域が空いています。 該当するTABLESPACEのデータファイルに対する割付領域を "ALTER TABLE ~" で拡大できたと思うのですが、 方法がはっきり分かりません。 どなたかご存知の方、また、このエラー自体の原因が 分かる方、いらっしゃったらお願いします。

  • OracleのSQLでWEB上のセクションIDを取得する方法

    お世話になっております。 現在、複数の方が同時に作業する画面をPL/SQLで作成しています。 この画面は、ワークテーブルを使用して動作しています。 上記の通り、複数の方が同時に作業する可能性があるため、 ワークテーブルにセクションIDのカラムを持たせ、判断させたいと思っています。 SELECT文で、作業者の(WEB上の)セクションIDを取得する方法はありませんか? また、別の方法があるのであれば、参考までに教えていただけないでしょうか? 以上、宜しくお願い致します。 環境: Windows2000 Oracle9i IE6.0 PG言語: PL/SQL

  • Oracle8でテーブルの列名を変更したい

    Oracle8のテーブルを利用しているのですが、あるテーブルの列名が 誤っていることに気付きました。データはそのままで列名だけ変更したい のですが、できるのでしょうか?できるのでしたら、方法を教えていただけ るとありがたいです。OracleやSQL関係の本を読んでみたのですが 探し出せませんでしたので、こちらでお世話になることにしました。 よろしくお願いします。(私自身はOracleは利用するのみで、ほとんど 素人に近いです。SQL*Plusは使ったことがあります。)

  • アクセスされたテーブルを調べる方法

    いつもお世話になっています。 SQL-Server 2005にて、あるSQL文を実行した際に、「どのテーブルに対してどのようなアクセスがあったのか」を調べる方法はありますでしょうか? いくつかのSQL文を実行した際の影響範囲を調べるために必要としています。 以上、ご協力宜しくお願い致します。

  • Oracleのテーブル作成スクリプトを作成したい

    Oracle8i のDBA Studioで数十の表を作成したのですが、ここからテーブルの作成スクリプトを出そうとして困りました。いわゆる Create Table文なのですが、これを自動で簡単に作る方法はないでしょうか?SQL-ServerのEnterprise Managerでは、SQLスクリプトの作成があって、Create文を簡単に生成できるのですが、これと同じような感覚で、既に作成してあるテーブルのCreate文を出力する方法はないでしょうか?Oracleには、ほとんど慣れていないので、方法があると思うのですが、探し方が悪いらしく途方にくれています。どなたかよい方法を御存じないでしょうか。

  • SQL 件数取得を速くしたい

    SQLでテーブルなどからSELECTされた件数を得る際に、 select count(*) from ~ 等とするかと思いますが、この結果が返ってくるのが遅くて困っています。 少しでも速く件数を得たいのですがどのような方法がありますでしょうか? 教えてください。 私が使っている環境はOracle 8iで 特に今回はgroup byを含むビューからの検索を行おうとしています。