我是StackOverflow的新手,这是我在论坛上的第一个问题..
我正在尝试在MS SQL Server 2008中创建一个表,其约束使得字段可选或根据同一表中另一个字段的内容而需要。
这是我到目前为止的代码......
CREATE TABLE COURSE (
C# INT,
NAME VARCHAR(20) ,
CREDIT TINYINT,
DESCRIPTION VARCHAR(60) NOT NULL,
PREREQUISITE VARCHAR(60),
CONSTRAINT PK_COURSE PRIMARY KEY (C#)
CONSTRAINT CK_CREDIT CHECK (CREDIT IN (1,2,3,4,5)),
CONSTRAINT UC_NAME UNIQUE(NAME), ...
以下是条件:PREREQUISITE可以为null,除非C#> 3000然后PREREQUISITE不能为空。我一直在试着把头发拉出来。
我很感激帮助!
答案 0 :(得分:2)
,
CONSTRAINT CK_CN_PREREQ
CHECK (([C#] > 3000 AND PREREQUISITE IS NOT NULL) OR ([C#] <= 3000))
顺便说一下, C#
是一个糟糕的专栏名称。