Мне нужна помощь с этим проверочным ограничением, я получаю следующее сообщение об ошибке: «Msg 102, Уровень 15, Состояние 1, Строка 14 Неверный синтаксис рядом с '='."
Или, возможно, вопрос, который я долженСпросите, возможно ли это, используя проверочное ограничение
. Я пытаюсь добиться того, чтобы: если InformationRestricted имеет значение True, InformationNotRestricted не может быть истинным, а InformationRestrictedFromLevel1, InformationRestrictedFromLevel2, InformationRestrictedFromLevel3, InformationRestrictedFromLevel5 bee Information_ReesttedFromLevel5 be Information1006 * Я не пытаюсь присвоить значения столбцам, просто пытаюсь убедиться, что значения столбцов = 0 (т. Е. Ложно), если InformationRestricted имеет значение True
Вот сценарий:
CREATE TABLE EmployeeData
(FirstName varchar(50),
Last Name varchar(50),
Age int,
Address varchar(100),
InformationRestricted bit,
InformationNotRestricted bit,
InformationRestrictedFromLevel1 bit,
InformationRestrictedFromLevel2 bit
InformationRestrictedFromLevel3 bit
InformationRestrictedFromLevel4 bit
InformationRestrictedFromLevel5 bit);
ALTER TABLE EmployeeData ADD CONSTRAINT ck_EmployeeData
CHECK (CASE WHEN InformationRestricted = 1 THEN InformationNotRestricted = 0 --InformationRestricted is true, InformationNotRestricted is false
AND( InformationRestrictedFromLevel1 = 0 --is false
OR InformationRestrictedFromLevel2 = 0 --is false
OR InformationRestrictedFromLevel3 = 0 --is false
OR InformationRestrictedFromLevel4 = 0 --is false
OR InformationRestrictedFromLevel5 = 0)); --is false