如何定义 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

定义约束表达式

  1. 创建新的 CHECK 约束。有关如何执行此操作的详细信息,请参阅如何向表或列附加新的 CHECK 约束 (Visual Database Tools)

  2. 在**“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。可以使用括号更改执行顺序。