找出列的默认值(Oracle)

时间:2013-01-23 11:24:46

标签: sql oracle select default

我想知道是否有办法通过简单的select语句找出某些列的默认值。尝试了几件事:

SELECT * FROM all_tab_columns WHERE table_name = 'tablename'

但是我看不到列的默认值。不,我不想使用像SQL Plus这样的东西,我需要一个SELECT,猜猜有一些表提供了这些信息吗?

4 个答案:

答案 0 :(得分:11)

Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT
from DBA_TAB_COLUMNS
where TABLE_NAME = 'TABLE_NAME';

替换要查看默认列数据的Table_Name。

答案 1 :(得分:5)

尝试以下查询

Select * From USER_TAB_COLUMNS where TABLE_NAME ='Table Name'

答案 2 :(得分:0)

默认值位于ALL_TAB_COLUMNS的DATA_DEFAULT列中:

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

答案 3 :(得分:0)

以上示例均不适用于我,但此示例确实有用。关键部分是table_name的“ Upper”。也许特定于我团队的数据库,但是如果您遇到问题,这应该可以解决

SELECT a.column_name "Column",
       a.data_default "Default"
FROM   all_tab_columns a
WHERE  a.table_name = Upper('tablename')
相关问题