【发布时间】:2013-04-10 06:09:44
【问题描述】:
我正在尝试识别默认值为 NULL 或未设置默认值的数据库列。为此,我正在执行类似的查询..
SELECT T.TABLE_NAME,CL.COLUMN_NAME,CL.DATA_DEFAULT
FROM SYS.USER_TABLES T
JOIN SYS.USER_TAB_COLUMNS CL ON T.TABLE_NAME = CL.TABLE_NAME
WHERE CL.DATA_DEFAULT IS NULL
ORDER BY t.table_name
在此查询的输出中,我得到了未设置默认值(空)的列,但我没有得到默认值为 NULL 的列
【问题讨论】:
-
如果列是
nullable并且没有设置其他默认值,那么NULL将是默认值。见SYS.USER_TAB_COLUMNS.NULLABLE