テーブルのカラム名とコメントを取得したいのですが、その際に主キーなどをorder byの条件したり、登録順に並び替えるなどは可能でしょうか?
また、純粋にどういう条件でorder byをかけられるかも教えていただきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
ベストアンサー
投稿2017/02/01 01:17

退会済みユーザー
総合スコア0
0
Oracle であれば、それぞれの情報は下表に示す静的データディクショナリビューから取り出すことになります。
対象の情報 | ビュー名 |
---|---|
カラム | ALL_TAB_COLUMNS |
カラムコメント | ALL_COL_COMMENTS |
PrimaryKey定義 | ALL_CONSTRAINTS, ALL_IND_COLUMNS |
これらを組み合わせてSQL書けばなんとでもなるでしょうが、主キーか否かが面倒かと思います。
それぞれのビューの構成列を見れば、何をとることができて、order by に使えるかどうかも分かるはずです。
投稿2017/02/01 00:48
総合スコア13707
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんにちは。
スキーマ情報(データのためのデータは、メタデータとも呼ばれます)について、Oracleであれば次のようなテーブルから得ることができます。
ALL_ は、対象によって USER_や DBA_ となる場合もあります。
こちらの方のページのように、上記のテーブルを結合してSQL文を発行すれば、お望みの結果をきっと得られることでしょう。自明に、主キーの順序で order by もかけられます。
投稿2017/02/01 00:38
編集2017/02/01 00:39総合スコア728
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
カラム一覧
select * from USER_TAB_COLUMNS;
カラムのコメント一覧
select * from USER_COL_COMMENTS;
のjoinでどうぞ
order byできる項目
https://docs.oracle.com/cd/E16662_01/doc/timesten.1121/b56051/ttsql363.htm
投稿2017/02/01 00:31
総合スコア367
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
リファレンス というマニュアルからALL_COL_COMMENTSビュー
ALL_COL_COMMENTS にOWNER、テーブル名、カラム名やコメントがあります。
主キーはALL_INDEXES、ALL_IND_COLUMNS から取得できます。
登録順がテーブル内の列の順番ということでしたら、ALL_TAB_COLUMNS のCOLUMN_ID列を使いましょう。
投稿2017/02/01 00:31
編集2017/02/01 00:33総合スコア16417
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。