2013-01-23 12 views
11

単純なselect文でカラムのデフォルト値を調べる方法があるのだろうかと思います。カラムのデフォルト値を調べる(Oracle)

SELECT * FROM all_tab_columns WHERE table_name = 'tablename' 

しかし、そこの列のデフォルト値は表示されません。 SQL Plusのようなものを使いたくないのですが、SELECTが必要です。その情報を提供するテーブルがいくつかありますか?

+6

デフォルト値がカラム '**記載され**' all_tab_columns'(のDATA_DEFFAULT'に格納されている:http://docs.oracle .com/cd/E11882_01/server.112/e25513/statviews_2103.htm#I1020277) –

+0

うまく答えました。私はかなりstackoverflowに新しいです、なぜ答えの代わりにこれをコメントとして追加するのですか? –

+0

その列はすべての列に対してと表示されますが、現実にはこれらの列はすべて0、 'HOST'、 ' - '、3000、SYSDATEなどのデフォルトの式を持っていますが、PL/SQL Developerではそれらを見ることができます私を助けてください。 – aLpenbog

答えて

3

Select * From USER_TAB_COLUMNS where TABLE_NAME ='Table Name' 
9
Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT 
from DBA_TAB_COLUMNS 
where TABLE_NAME = 'TABLE_NAME'; 

以下のクエリを試してみてくださいあなたは、デフォルトの列のデータを表示したいTABLE_NAMEを交換してください。

+0

'='の代わりに 'like'を使うのが良いでしょう。' TABLE_NAME、COLUMN_NAME、DATA_DEFAULTをDBA_TAB_COLUMNSから選択してください。 %GI_LOCATION% ';'は結果を得る可能性が高いです。 – korefn

+7

@korefn、いいえ、表名がわからない場合はLIKEを使用します。それ以外の場合は、 '='が適切です。 –

-1

デフォルト値がALL_TAB_COLUMNSからDATA_DEFAULT列である:

SELECT TABLE_NAME, COLUMN_NAME, DATA_DEFAULT 
    FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME = 'tablename' 
+1

ビュー名が間違っていますか? –

+0

ops!あなたは、絶対に正しい!ありがとう!ちょうど編集中... – helenov

関連する問題