无法删除Oracle中的默认约束

时间:2016-11-08 07:58:45

标签: sql oracle

SQL> ALTER TABLE CUSTOMERS MODIFY AGE INT DEFAULT 10;

表格改变了。

SQL > ALTER TABLE CUSTOMERS ALTER COLUMN AGE DROP DEFAULT;

ERROR at line 2:
ORA - 01735 : invalid ALTER TABLE OPTION.

2 个答案:

答案 0 :(得分:6)

您的ALTER语句错误,您无法在一个语句中使用两个ALTER语句。我们永远不会删除默认值,而是将其设置为NULL

  

如果列具有默认值,则可以使用DEFAULT子句将默认值更改为NULL,但不能完全删除默认值。如果列已分配了默认值,则USER_TAB_COLUMNS数据字典视图的DATA_DEFAULT列将始终显示默认值或NULL。

ALTER TABLE

使用以下SQL命令删除默认值。

ALTER TABLE constomers MODIFY age DEFAULT NULL;

答案 1 :(得分:0)

使用MODIFY [COL_NAME] DEFAULT NULL代替ALTER COLUMN [COL_NAME] DROP DEFAULT,到目前为止,oracle不接受后者。