如何:定义 CHECK 约束表达式
更新:2007 年 11 月
当将 CHECK 约束附加到表或列时,必须包含 SQL 表达式。有关此操作的详细信息,请参见如何:将新的 CHECK 约束附加到表或列。
可创建简单的约束表达式,用简单条件检查数据;或者使用布尔运算符创建复杂表达式,用若干个条件检查数据。例如,假设 authors 表中包含一个 zip 列,此列需要 5 位数的字符串。下列示例约束表达式保证只允许 5 位数:
zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
或者假设 sales 表包含一个名为 qty 的列,该列要求大于 0 的值。下面的示例约束保证只允许正值:
qty > 0
说明: |
---|
对于 CHECK 约束,有些数据库具有不同的功能。有关数据库如何使用 CHECK 约束的详细信息,请查阅数据库文档。 |
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
定义约束表达式
创建新的 CHECK 约束。有关如何执行此操作的详细信息,请参见如何:将新的 CHECK 约束附加到表或列。
在“CHECK 约束”对话框中,使用以下语法在“CHECK 约束表达式”对话框中键入一个表达式:
{constant column_name function (subquery)} [{operator AND OR NOT} {constant column_name function (subquery)}]
说明: 此语法是 Microsoft® SQL Server 特有的语法。有关详细信息,请查阅数据库文档。
SQL 语法由下列参数组成:
参数
说明
constant
一个如数字或字符数据这样的值。字符数据必须用单引号 (') 引起来。
column_name
指定一列。
function
内置函数。有关函数的详细信息,请参见 SQL Server 文档。
operator
算术、按位、比较或字符串运算符。有关运算符的详细信息,请参见 SQL Server 文档。
AND
在布尔表达式中使用,用来连接两个表达式。当两个表达式都为真时返回结果。
当在一个语句中同时使用 AND 和 OR 时,首先处理 AND。可以使用括号更改执行顺序。
OR
在布尔表达式中使用,用来连接两个或多个条件。当任何一个条件为真时返回结果。
当在一个语句中同时使用 AND 和 OR 时,在计算 AND 之后再计算 OR。可以使用括号更改执行顺序。
NOT
对任何布尔表达式(它可包含如 LIKE、NULL、BETWEEN、IN 和 EXISTS 这样的关键字)求反。
当在一个语句中使用多个逻辑运算符时,首先处理 NOT。可以使用括号更改执行顺序。