SQL Server: Определите столбцы как взаимоисключающие

document.getElementById('some_frame_id').contentWindow.location.reload();

быть осторожным, в Firefox, window.frames[] не может быть индексирован идентификатором, но по имени или индекс

11
задан Andrea Colleoni 4 February 2016 в 14:39
поделиться

1 ответ

Да, вы можете, используя ограничение CHECK:

ALTER TABLE YourTable
ADD CONSTRAINT ConstraintName CHECK (col1 is null or col2 is null)

Согласно вашему комментарию, если многие столбцы являются эксклюзивными, вы можете проверить их следующим образом:

case when col1 is null then 0 else 1 end +
case when col2 is null then 0 else 1 end +
case when col3 is null then 0 else 1 end +
case when col4 is null then 0 else 1 end
= 1

Это говорит о том, что один из четырех столбцов должен содержать значение. Если все они могут иметь значение NULL, просто проверьте <= 1 .

15
ответ дан 3 December 2019 в 08:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: