“CHECK 约束表达式”对话框 (Visual Database Tools)

新建日期: 2005 年 12 月 5 日

将检查约束附加到表或列时,必须包括一个 SQL 表达式。在提供的框中键入 CHECK 约束表达式。

  • 表达式
    输入表达式

您可以创建简单的约束表达式,用简单条件检查数据;也可以使用布尔运算符创建复杂表达式,用若干个条件检查数据。例如,假设 Authors 表有一个需要 5 位数字字符串的邮政编码列。下面的示例约束表达式可保证只允许 5 位的数字:

zip LIKE '[0-9][0-9][0-9][0-9][0-9]'

或假设 Sales 表有一个需要值大于 0 的称为 qty 的列。下面的示例约束可保证只允许正值:

qty > 0

或假设 Orders 表限制了所有信用卡订单可以接受的信用卡的类型。下面的示例约束可保证在出现信用卡订单的情况下,只接受 Visa、MasterCard 或 American Express:

NOT (payment_method = 'credit card') OR
   (card_type IN ('VISA', 'MASTERCARD', 'AMERICAN EXPRESS'))

定义约束表达式

在属性页的“检查约束”选项卡中,使用以下语法在“约束表达式”框中键入表达式:

{constant | column_name | function | (subquery)}

[{operator | AND | OR | NOT}

{constant | column_name | function | (subquery)}...]

SQL 语法由下列参数组成:

参数 说明

常量

一个如数值数据或字符数据之类的文本值。字符数据必须用单引号 (') 括起来。

column_name

指定列。

函数

内置函数。

运算符

算术运算符、位运算符、比较运算符或字符串运算符。

在布尔表达式中使用,用来连接两个表达式。当两个表达式都为 True 时返回结果。

当在一个语句中同时使用 AND 和 OR 时,首先处理 AND。可以使用括号更改执行顺序。

OR

在布尔表达式中使用,用来连接两个或多个条件。当任何一个条件为 True 时返回结果。

当在一个语句中同时使用 AND 和 OR 时,在计算 AND 之后再计算 OR。可以使用括号更改执行顺序。

NOT

对任何布尔表达式(可包含如 LIKE、NULL、BETWEEN、IN 和 EXISTS 之类的关键字)求反。

当在一个语句中使用多个逻辑运算符时,首先处理 NOT。可以使用括号更改执行顺序。

请参阅

其他资源

CHECK 约束
创建和修改 CHECK 约束

帮助和信息

获取 SQL Server 2005 帮助