• ベストアンサー

SQL*PLUSで表定義を参照

こんにちわ。 OBJECT BROWSERではテーブル定義を簡単に参照できますが, SQL*PLUSを使って,テーブル定義を参照するコマンドが あるでしょうか? 教えてください。よろしくお願いします。

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

  • ベストアンサー
noname#87380
noname#87380
回答No.2

こんにちは。 DBMS_METADATA.GET_DDLを使えばテーブル定義文を取得できますよ。 但しバージョンによっては不具合があるみたいです。 不具合の詳細はKrownを参照して下さい。 ■例 - TEST表のテーブル定義文を取得 SET PAGES 0 SET LONG 20000000 SELECT DBMS_METADATA.GET_DDL('TABLE' ,'TEST') FROM DUAL;

tatsurou
質問者

お礼

Jianchenさん。こんにちわ。 お礼が遅くなってしまいまして申し訳ありません。 教えて頂いた方法で表定義を見ることができました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

desc テーブル名 で見ることが出来ます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 定義を参照するコマンドは

    テーブル定義を参照するSQLコマンドを教えていただけませんか。 (汎用機でDB2を使用していますがマニュアルなどがないので・・) 「DESC」というコマンドは認識しませんでした。

  • DBで表定義を参照するには

    既にある表定義を参照するためのSQL文を教えてください。 表の作成/削除とかは良くマニュアルにあるのですが参照が見当たりません。 よろしくお願いします

  • SQL *PLUSを使用してOracleでコンパイルされているソースを出力したい

    Object Browserというツールにスクリプト出力(コンパイルされたソースを外部出力する)という機能があります。 これと同じことをSQL *PLUSを使用してできないでしょうか? ご教授いただきたく存じます。 よろしくお願い致します。

  • SQL*PLUSにてデータベース名表示

    SQL*PLUSにて、起動時ホスト文字列(データベース)を入力しますが、 そのデータベースをSQL*PLUS上、表示する方法を知りたいです。 どこかテーブルに持っているのか、もしくは、表示コマンドがあるのか、ぜひ教えてください。 以上、よろしくお願いします。

  • SQL*PLUSで列幅変更したい。

    こんにちわ。 いまORACLE9iを使用している者です。 SQL*PLUSで, つぎのようなSELECT文を発行しました。 「SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE」 「HOGEKBN」は1桁のデータなので, 実行結果に列名である"ほげほげ区分"が表示されません。 これを表示したいと思い, 「 SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE COLUMN ほげほげ区分 FORMAT A20 」 としたところ, COLUMN~の行で, "ORA-00933: SQLコマンドが正しく終了されていません。" というエラーメッセージが出てしまいます。 SQL*PLUSで列幅指定するにはどうすれば良いでしょうか? 教えてください。よろしくお願いします。

  • SQL*PLUSを終了させる方法

    シェルスクリプトから、SQL*PLUSを呼んでいますが、 sqlplusコマンドを実行したとき、 PL/SQLプロシージャが正常に完了しました。 SQL> と入力待ちになってしまいます。 この入力待ちで止まってほしくないのですが、 どうすればよいでしょうか。 ご教示お願いいたします。

  • SQL*PLUSに関して

    標記の件に関しまして 私はデータベースに関する知識は全く無いのですが SEが私のクライアントに設定した SQL*PLUSを使用してた売上データベースからのデータの抽出 機能がありまして これとは違う条件でのデータ抽出が必要となり 何とかSQL文を部分的に加工して目的が達成できるかどうか 調べているところであります。 ■疑問点■ SQL*PLUSのコマンドファイルは既に作成されていて @~でメモ帳ファイルに記述されているSQL文を 指定すればSPOOLでデータが別のテキストファイルに 抽出されるようになっているようです。 この場合に 既存のSQL文が記述されているメモ帳ファイルの抽出条件を 加工してコマンドにて加工後のファイルを@~で実行すれば 必要としているデータを抽出することができるでしょうか? あと 現在使用しているSQLで下記の部分が共通して記述されて いるのですがこれはどういった意味でしょうか。 SET ECHO OFF SET HEADING OFF SET PAGESIZE 0 SET FEEDBACK OFF SET LINESIZE 30000 SET TRIMSPOOL ON SPOOL C:ファイルの場所 ■ここに抽出条件があるようです。■ SPOOL OFF EXIT 0; 大変申し訳ございませんが 現在はSEから購入したシステムから紙ベースで 出力して手作業で入力を行っているため 何とかデータベースから直接抽出できないか 模索しているところであります。 アドバイス頂けますでしょうか。 宜しくお願いします。

  • SQL+について

    オラクルデータベースを 操作するのに オブジェクトブラウザを使用しています。 しかし、SQL+のコマンドを使用すれば 一発で操作可能でした。 SQL +の コマンドを覚えようと 本屋で探したのですが ありません オラクル や SQLの本はあったのですが。 SQL+の コマンドや 操作方法を覚える お勧めの本は 無いでしょうか?

  • SQL*Plusで以前に実行したコマンドを再実行したい

    Oracle 9iを使用しています。 SQL*Plusで以前に実行したコマンドを再度実行することは可能でしょうか。 RUNコマンドで、直前に実行したコマンドなら再実行できることがわかったのですが、それよりも前に実行したコマンドを再実行する方法を知りたいです。 例えば、UNIXのcshの場合、historyコマンドで、以前に実行したコマンド一覧が表示され、!3 のように、コマンド一覧番号を指定すると、任意のコマンドを実行できます。 これと同じようなことがSQL*Plusでも可能でしょうか?

  • transact-sqlからoracle DBを参照したい。

    transact-sqlからoracle DBを参照したい。 sql-server 2005 window server 2003 R2での環境です。transact-sqlを使用して、他のマシン上にあるoracle データベース上のテーブルのデータを取得し、そのデータを自身のマシン上のsql serverのテーブルに格納したいのですが、そのようなことはできますでしょうか。 もし、できるとすれば、どのような方法(手順)になるのでしょうか。