如何定义 CHECK 约束表达式 (Visual Database Tools)
向表或列附加 CHECK 约束时,必须包含 SQL 表达式。有关此操作的详细信息,请参阅如何向表或列附加新的 CHECK 约束 (Visual Database Tools)。
您可以创建简单的约束表达式,用简单条件检查数据;也可以使用布尔运算符创建复杂表达式,用若干个条件检查数据。例如,假设 authors 表中包含一个 zip 列,此列包含的字符串必须为 5 位。下面的示例约束表达式可保证只允许 5 位的数字:
zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
或者,假设 sales 表包含一个名为 qty 的列,该列要求值大于 0。下面的示例约束可保证只允许正值:
qty > 0
定义约束表达式
创建新的 CHECK 约束。有关如何执行此操作的详细信息,请参阅如何向表或列附加新的 CHECK 约束 (Visual Database Tools)。
在**“CHECK 约束”对话框中,使用以下语法在“CHECK 约束表达式”**对话框中键入一个表达式:
{constant column_name function (subquery)} [{operator AND OR NOT} {constant column_name function (subquery)}]
SQL 语法由以下参数组成:
参数
说明
constant
一个如数值数据或字符数据之类的文本值。字符数据必须包含在单引号 (') 中。
column_name
指定列。
function
内置函数。有关函数的详细信息,请参阅系统函数 (Transact-SQL)。
operator
算术、按位、比较或字符串类型的运算符。有关运算符的详细信息,请参阅在表达式中使用运算符。
AND
在布尔表达式中使用,用来连接两个表达式。当两个表达式都为 True 时返回结果。
当在一个语句中同时使用 AND 和 OR 时,首先处理 AND。您可以使用括号更改执行顺序。
OR
在布尔表达式中使用,用来连接两个或多个条件。当任何一个条件为 True 时返回结果。
当在一个语句中同时使用 AND 和 OR 时,在计算 AND 之后再计算 OR。可以使用括号更改执行顺序。
NOT
对任何布尔表达式(可包含如 LIKE、NULL、BETWEEN、IN 和 EXISTS 之类的关键字)求反。
当在一个语句中使用多个逻辑运算符时,首先处理 NOT。可以使用括号更改执行顺序。