Я пытаюсь установить условие в ограничении CHECK. Сценарий
- Когда столбец1 равен нулю, никаких действий не требуется
- Если столбец1 не равен нулю, тогда столбец3 должен иметь определенный код
Например, если студент спросил (1), то он должен был выполнить действие (посетить как код 1 или позвонить как код 2)
CREATE TABLE [dbo].[enquiry_details](
[Id] uniqueidentifier NOT NULL,
[Name] [varchar] (100) NOT NULL,
[Enquired] [int] NULL,
[location] [int] NOT NULL,
[Action_Type] [int] NULL,
-- CONSTRAINT menu_key CHECK ((Enquired IS NOT NULL)and Action_Type IN ('11','22'))
--CONSTRAINT menu_key CHECK (IF(Enquired!= null) Action_Type IN ('11','22'))
CONSTRAINT menu_key CHECK (IF(Enquired is not null) Action_Type IN ('11','22'))
-- CONSTRAINT menu_keyi CHECK (CASE WHEN Enquired IS NOT NULL THEN Action_Type IN ('11','22') END)
-- CONSTRAINT menu_keyi CHECK (CASE WHEN LEN(Enquired)>0 THEN (Action_Type '11' OR Action_Type='22') ELSE NULL END)
)