Oracle 12c - строковое значение столбца по умолчанию для записи не вставлено - вместо этого null - PullRequest
0 голосов
/ 08 мая 2018

Я столкнулся с очень интересной прерывистой проблемой, и я не знаю, что может вызвать эту проблему. У меня есть одна таблица базы данных, и для одного столбца установлено значение DEFAULT (строковое значение - то есть «A»).

Записи вставляются автоматически с заданием планировщика, и я посмотрел историю, и как только там было вставлено «ноль» вместо значения «А» - только для одной записи. Другие записи были вставлены правильно.

(примечание: были вставлены тысячи записей, и только у одной была нулевая)

Кто-нибудь знает, что может вызвать эту неустойчивую проблему и почему вместо значения DEFAULT, которое определено для этого конкретного столбца, есть значение null?

Если вам нужен пример определения таблицы, дайте мне знать.

Спасибо

1 Ответ

0 голосов
/ 08 мая 2018

DEFAULT значения используются только тогда, когда на столбец нет ссылки в операторе вставки. Если на столбец ссылаются, и он может иметь значение NULL, тогда он может быть установлен в NULL.

С 12c у вас есть возможность изменить это поведение, используя DEFAULT ON NULL вместо DEFAULT.

Ссылка: Значения DEFAULT для явных значений NULL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...