• ベストアンサー
  • すぐに回答を!

クエリー : テーブル一覧&定義情報取得

手元にOracleがなく、実際にクエリーを投げて試すこともできず困っています。以下について教えて下さい。 1.Oracleにて、自分で作ったテーブルの名前の一覧を取得するクエリーを教えて下さい。 2.各テーブルにおいて、定義情報(カラム名、カラムサイズetc)を取得するクエリーを教えて下さい。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • Oracle
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.3
  • nitorin
  • ベストアンサー率55% (11/20)

いきなり間違えてしまいました・・・ORZ ×SELECT SELECT table_name FROM user_tables; ○SELECT table_name FROM user_tables;

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました! うまくいきました!

その他の回答 (2)

  • 回答No.2
  • nitorin
  • ベストアンサー率55% (11/20)

こんにちは。 少し時間がありましたので 下記にサンプルを書いておきます。 >1.Oracleにて、自分で作ったテーブルの名前の一覧を取得するクエリーを教えて下さい。 SELECT SELECT table_name FROM user_tables; >2.各テーブルにおいて、定義情報(カラム名、カラムサイズetc)を取得するクエリーを教えて下さい。 SELECT * FROM user_tab_columns WHERE TABLE_NAME = 'テーブル名' ORDER BY COLUMN_ID あと、SELECT * from dictとして ディクショナリービュー自体の一覧がとれますので ディクショナリービューの名前がうろ覚えのとき便利です。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

オラクルを理解するのに、オラクルの実機は必須ではありません。 でも、オラクルを理解するのに、オラクルのマニュアルは避けて通れません。 オラクルのサイトでマニュアルは無料で入手可能です。 ”リファレンスガイド”にオラクルのディクショナリービューに関する説明があり、 そこにユーザが所有するテーブルの情報が取得可能なビューが記載されています。 (user_で始まるビューをご覧ください)

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • SQLiteでカラム情報の取得ってできるんですか?

    SQLiteを使ってみようと思い試しているのですが、カラム名と属性情報の 一覧を表示するコマンドが分かりません。 調べてもどうも見つからないので教えていただきたいと思います。 MySQLやOracleなんかでしたら、desc table名; という構文でカラム情報を 取得することができますが、SQLiteではできないようです。 .helpコマンドで調べてみても、テーブル一覧は見つかりますがカラム一覧は出てきません。 ご存知の方教えていただけると助かります。

  • テーブルの情報「Oracle」

    Oracleでシステムテーブル等をクエリで参照することによりテーブルのカラム名、カラム長を調べたいのですが、どのようなクエリを作ればよいでしょうか?

  • データベースのテーブルやカラム情報の取得

    データベースの定義を取得するSQL文を教えてください。 データベースはAccessとMySQLです。 得たい情報はデータベースにあるテーブルとカラムです。 例えば、テーブルがTblAとTblBがあって、 それぞれに整数型のFld1と文字型のFlb2があるとします。 この定義情報を取得したいのです。 テーブルだけでなくクエリ(ビュー)の定義情報も取得できるでしょうか。

    • ベストアンサー
    • MySQL
  • テーブルの情報を取得したい

    テーブルの情報を取得したい PHP5とPostgreSQL8.4.3を使っています。 フォームにテーブル名を入力して送信すると、そのテーブルの情報(カラム名、型名など)が表示され、 そのテーブルに対してレコードの追加や削除を行いたいのですが方法が分かりません。 どなたか分かる方いらっしゃいましたらお願いします。

  • SQLiteにてテーブル一覧を取得したい

    SQLiteにてテーブル一覧を取得したい PHPにてSQLiteを使って勉強中なのですが、 sqlite_openでファイルを読み込み クエリーを投げて、そのファイルの中にあるテーブル一覧を取得したいのですが、 どのようにすれば一覧が取れるでしょうか? sqlite_query($sqlite, '.tables');だと構文エラーになってしまいますし、 execのような物から取ろうとするとかなり複雑なロジックになってしまいます。

    • ベストアンサー
    • PHP
  • 2つのテーブルからクエリー作成

    まず現状のご説明をさせていただきます。 「一覧テーブル」と「支払先一覧テーブル」があります。 「支払先一覧テーブル」には、 ・No ・支払先名 ・カナ ・銀行名 ・支店 というフィールドがあります。 「一覧テーブル」には ・日付_年 ・日付_月 ・支払先No ・支払先 ・入居者 ・家賃 ・駐車料 ・総支払額 というフィールドがあります。 この2つのテーブルは、「支払先テーブル」の「No」と「一覧テーブル」の「支払先No」が リレーションされています。 この2つのテーブルからクエリーをつくり、各支払先ごとに合計を取りたいと思い、以下のようなクエリーを作成しました。 デザインビューでクエリーを作成し、「支払先テーブル」と「一覧テーブル」をそれぞれ選択。 その中から、 ・日付_年(一覧テーブル) ・日付_月(一覧テーブル) ・カナ(支払先一覧テーブル) ・銀行名(支払先一覧テーブル) ・支店(支払先一覧テーブル) ・総支払額(一覧テーブル) をもってきました。 そのクエリを集計し、総支払額だけ「合計」にし、あとは「グループ化」にしました。 これで、支払先ごとの合計は出るかと思ったのですが、空欄になってしまいました。 どこが間違っているのか全然わかりません。 どうか教えてください。 よろしくお願いします。 Access2000を使用しています。

  • ストアド内でカラム名一覧を取得

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ストアド内でカラム名一覧を取得、カンマで繋げてひとつの変数にまとめたい。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 現在開発でストアドを使用する機会があり、そこで不明点が発生し悩んでおります。 以下、現状と質問です。 ■SQL SERVER 2000 ■テーブル(※)のカラム名一覧を取得し、  カラム名をカンマで繋げてひとつの変数に格納したいと思っています。  ※先の処理でカラムを取得したいテーブルをSELECTしており、  対象のテーブル名を変数に代入しています。  カラム一覧を取得するにあたり、以下のようにカーソルで習得し、  FETCHでカラム名を変数に格納しようと考えていましたが、  「'対象テーブル名'」には変数がいれられないので、どうしようかと悩んでいます。  DECLARE CURS_test CURSOR FOR   SELECT name FROM dbo.syscolumns   WHERE id IN   (SELECT id FROM dbo.sysobjects WHERE name = '対象テーブル名')   ORDER BY id, colid;  「sp_executesql」を使用してselect文を流そうとしたのですが、  複数ある列名を取得して、上記で記載しましたように  カラム名をカンマで繋げてひとつの変数に格納する方法がわかりませんでした。  こういった場合、どのように考えて、どのように書けばよいのでしょうか。  まだ触り始めたばかりで、わからないことがわかっていない部分もあり、  質問内容でわかりにくい部分がありましたらご指摘いただければと思います。  どうぞよろしくお願いいたします。

  • Accessでテーブル名やクエリ名一覧の抜き出し

    Accessでテーブルやクエリを沢山(100個以上?)使っております。 そこで、テーブル名やクエリ名の管理をしたいので、テーブル名(クエリ名)の一覧を抜き出したいのですが、どうすればいいのでしょうか? または、そういうことは無理なのでしょうか??(;O;) 1個づつコピーペーストでテールブル名をエクセルに貼り付けて行こうかな?と思ったのですが、さすがに数が多すぎるので困っております。 できるだけ簡単な方法がいいのですが、もしなければVBAでもいいです。 おわかりの方がいらっしゃいましたら、よろしくお願いします。

  • TIMESTAMP型が含まれるテーブルの列名の取得

    Oracle 11gを使用しているSQL初心者です。 テーブルの列名を取得する方法についての質問です。 テーブルの列名を取得するときは以下のSQLで取れると思っています。 select column_name from user_tab_columns where table_name = 'テーブル名'; --実行結果-- COLUMN_NAME ------------------------------ NAME1 NAME2 しかし、テーブルにTIMESTAMP型が含まれていると 「レコードが選択されませんでした。」 と表示されます。 TIMESTAMP型が含まれるテーブルは上記のSQLでは取得できないのでしょうか。 TIMESTAMP型が含まれるテーブルの列名の取得方法をご存知の方がいらっしゃいましたら、 ご教示ください。よろしくお願い致します。

  • テーブル名をカラムとして取得する方法

    テーブル名をカラムとして取得する方法はありますでしょうか? オラクル8とVB6でプログラムを組んでいます。 例 TABLE Aの内容 カラム1 1 2 3 TABLE B カラム1の内容 4 5 6 SQLは簡略化してかきます。下記のSQLを実行した場合、 select A.カラム1 from A union select b.カラム1 from b 1 2 3 4 5 6 を取得できます。 例えば、上記で、SQL実行後、 下記のような値を取得したいです。 1 ,Aのテーブルだよ 2 ,Aのテーブルだよ 3 ,Aのテーブルだよ 4 ,Bのテーブルだよ 5 ,Bのテーブルだよ 6 ,Bのテーブルだよ それぞれのテーブルの名前を別名で結果に格納したいのです。 何か方法はありますでしょうか? なければ、unionせずに、2回SQLを発行し、それぞれに、 プログラム上で、「Aのテーブルだよ」を後で挿入したいと思っています。