Один из столбцов между двумя столбцами должен быть NOT NULL. Как обеспечить его соблюдение в схеме?
У меня есть таблица со следующей схемой
CREATE TABLE MyTable
(
ID INTEGER DEFAULT(1,1),
FirstIdentifier INTEGER NULL,
SecondIdentifier INTEGER NULL,
--.... some other fields .....
)
Теперь при вставке значения один из столбцов между FirstIdentifier и SecondIdentifier должен быть
НЕ НОЛЬ. Есть ли способ обеспечить его использование по схеме?
Ответы
Ответ 1
Это возможно при использовании ограничения CHECK
:
CHECK (FirstIdentifier IS NOT NULL OR SecondIdentifier IS NOT NULL)
В то время как ограничения CHECK являются частью таблицы (и, следовательно, "схемы"?), они могут не соответствовать требуемому определению. Вышеуказанный CHECK не является взаимоисключающим, но он может быть изменен таким образом.
Счастливое кодирование.