dポイントプレゼントキャンペーン実施中!

お世話になっています。
DESC命令以外でテーブル情報(フィールドや型、NULL制限、Pキーなど
を取得したいのですが、そのようなV$表やコマンドはありますでしょうか?
宜しくお願い致します。

A 回答 (1件)

こんなのでテーブルの定義がとれます。


select COL.COLUMN_NAME COLUMN_NAME, COL.DATA_TYPE DATA_TYPE,
COL.DATA_LENGTH DATA_LENGTH, COL.DATA_DEFAULT DATA_DEFAULT,
nvl(COL.DATA_PRECISION, COL.CHAR_COL_DECL_LENGTH) DATA_LEN,
COL.NULLABLE
from USER_TAB_COLUMNS COL
left outer join USER_COL_COMMENTS COM
on (COL.TABLE_NAME = COM.TABLE_NAME and
COL.COLUMN_NAME = COM.COLUMN_NAME)
where COL.TABLE_NAME = 'テーブル名'
order by COL.COLUMN_ID

こんなので制約がとれます。
select CONSTRAINT_NAME, CONSTRAINT_TYPE, GENERATED,
decode(CONSTRAINT_TYPE, 'P', 'P(主キー)',
'U', 'U(一意のキー)',
'C', 'C(表でのチェック制約)',
'R', 'R(参照整合性)',
'不明'
) CONSTRAINT_TYPE_NAME,
SEARCH_CONDITION, R_CONSTRAINT_NAME,
DELETE_RULE, STATUS, VALIDATED
from USER_CONSTRAINTS
where TABLE_NAME = 'テーブル名'
order by CONSTRAINT_NAME

こんな感じでOKですか?
    • good
    • 0
この回答へのお礼

ご回答頂き有難うございます。
完璧です!。descで取得したフィールド名や型を加工しやすくならないか
と思考錯誤しておりました。
USER_TAB_COLUMNSの存在が分かった時点で満足しています。
これを用いてテーブル構成からcreate文起こすこともできそうですね。
(現在はツールを使っています)
有難うございました。

お礼日時:2006/08/10 18:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!