如何在 ORACLE TABLE 上重置列的默认值
Posted
技术标签:
【中文标题】如何在 ORACLE TABLE 上重置列的默认值【英文标题】:How to reset DEFAULT value on a column On ORACLE TABLE 【发布时间】:2019-07-17 18:44:05 【问题描述】:我有一个表,其中一列默认设置为 0000,列的数据类型是数字。 我想删除默认值,当保存记录时,null 应该保存在此列上。
【问题讨论】:
【参考方案1】:您可以将默认设置覆盖为NULL
:
ALTER TABLE tab_name MODIFY col_name DEFAULT NULL;
db<>fiddle demo
如果列设置为NOT NULL
,则:
ALTER TABLE tab_name MODIFY col_name type_name DEFAULT NULL NULL;
db<>fiddle demo2
【讨论】:
@OP 另外,如果您希望它保持一致,请考虑一次性更新以使当前的 0 条记录为空。 @Error_2646 是的,我同意,但这取决于要求。【参考方案2】:首先,更新当前记录:
update tab set col=null where col=0;
然后移除默认值:
alter tab modify col default null;
【讨论】:
以上是关于如何在 ORACLE TABLE 上重置列的默认值的主要内容,如果未能解决你的问题,请参考以下文章