有条件地将字段更改为null或不为null

时间:2013-11-11 20:53:06

标签: sql-server null conditional

我是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不能为空。我一直在试着把头发拉出来。

我很感激帮助!

1 个答案:

答案 0 :(得分:2)

,
CONSTRAINT CK_CN_PREREQ
  CHECK (([C#] > 3000 AND PREREQUISITE IS NOT NULL) OR ([C#] <= 3000))
顺便说一下,

C#是一个糟糕的专栏名称。