将一个列的默认值修改为null之后,和没改之前数据字典的差别
--0 创建测试表,对默认值没有进行任何指定
SQL> create table T_DEFAULT_TEST (id number);
表已创建。
--1 查看数据字典,DATA_DEFAULT没有值
SQL> select A.COLUMN_NAME,A.DATA_DEFAULT
2 from user_tab_columns a where a.TABLE_NAME = 'T_DEFAULT_TEST';
COLUMN_NAME DATA_DEFAULT
------------------------------ ----------------------------------------
ID
--2 修改默认值为1
SQL> alter table T_DEFAULT_TEST modify (id default 1);
表已更改。
--查看数据字典,DATA_DEFAULT为1,正常
SQL> select A.COLUMN_NAME,A.DATA_DEFAULT
2 from user_tab_columns a where a.TABLE_NAME = 'T_DEFAULT_TEST';
COLUMN_NAME DATA_DEFAULT
------------------------------ ----------------------------------------
ID 1
--3 修改默认值为null,也就是取消默认值的设定,
SQL> alter table T_DEFAULT_TEST modify (id default null);
表已更改。
--结果和预期不一样,预期DATA_DEFAULT不显示任何东西,结果显示null
SQL> select A.COLUMN_NAME,A.DATA_DEFAULT
2 from user_tab_columns a where a.TABLE_NAME = 'T_DEFAULT_TEST';
COLUMN_NAME DATA_DEFAULT
------------------------------ ----------------------------------------
ID null
从现在开始数据字典种DATA_DEFAULT就像牛皮糖一样,怎么也去不掉,无论如何都无法回复到初始状态
COLUMN_NAME DATA_DEFAULT
oracle 修改默认值(转载)
猜你喜欢
转载自zzmt2012.iteye.com/blog/1631803
今日推荐
周排行