Oracle 12c - 未插入记录的列默认字符串值 - 而是null

时间:2018-05-08 20:12:07

标签: database oracle default-value

我正面临着非常有趣的间歇性问题,我不知道是什么原因导致这个问题。我有一个数据库表,并为一列设置了DEFAULT值(字符串值 - 即" A")。

记录随着调度程序作业自动插入,我查看了历史记录,一旦插入" null"而不是" A"值 - 仅适用于一条记录。正确插入了其他记录。

(注意:插入了数千条记录,只有一条记录为空)

有人知道是什么原因会导致这个间歇性问题吗?为什么会有null而不是为这个特定列定义的DEFAULT值?

如果你需要一些表格定义的例子,请告诉我。

谢谢

1 个答案:

答案 0 :(得分:1)

BadMethodCallException('FIFO queues do not support per-message delays.')值仅在insert语句中未引用列时使用。如果引用了一列并且可以为空,则可以将其设置为null。

使用12c,您可以选择使用DEFAULT而非DEFAULT ON NULL来更改此行为。

参考:DEFAULT Values On Explicit NULLs