使用默认值更新非空列失败

时间:2014-08-08 16:53:10

标签: oracle null default-value

如果这是一个基本问题,请原谅我。我不是一个Oracle开发人员而谷歌让我失望了所以我转向你。

我在同一个数据库中有两个架构。它们都具有相同的结构。我有一个表格,其列定义为......

longitude_coordinate NUMBER(16,8)默认值0不为空,

...如果我运行查询......

UPDATE table SET longitude_coordinate = null WHERE id = xxxxxxxx

...在一个模式上它成功,另一个模式失败并出现错误....

ORA-01407

  

无法更新(" SCHEMA"。" TABLE"。" LONGITUDE_COORDINATE")为NULL。

我假设必须有一些全局选项,但我不能在我的生命中找到它。

2 个答案:

答案 0 :(得分:0)

看起来您正在尝试使用空值更新非空列,并且由于显而易见的原因会抛出错误。 是否可以检查在成功执行查询的模式中是否禁用了非空约束。

答案 1 :(得分:0)

您正在尝试将空值设置为不支持空值的列, 这应该有效:

UPDATE table SET longitude_coordinate = 0 WHERE id = xxxxxxxx

希望这有帮助!