Ошибка при вставке даты (поскольку значения данных не соответствуют ограничению целостности _NM0002_.) - PullRequest
1 голос
/ 16 апреля 2019

Я пытаюсь создать и вставить данные даты в таблицу в SAS, но получаю это сообщение об ошибке.

proc sql;

alter table a2db.student add dob DATETIME format=datetime20.;
insert into a2db.student (dob) values ('1Sep2015:0:0:0'dt);

ОШИБКА: не удалось добавить / обновить набор данных A2DB.STUDENT, поскольку значения данных не соответствуют ограничению целостности NM0002 .

Столбец создан, но ошибка возникает при команде вставки.

1 Ответ

0 голосов
/ 16 апреля 2019

Если вы запустите proc sql;describe table a2db.student и проверите журнал, вы обнаружите, что ваша таблица имеет ограничения индекса или ключа. Добавляемая строка имеет только одно значение (для dob), поэтому отсутствующие значения в оставшихся столбцах вызывают предупреждение об ограничении.

Вероятно, это первичный ключ (по умолчанию УНИКАЛЬНЫЙ и НЕ ПУСТОЙ).

Обязательно передайте полный ряд данных при запуске insert.

...