使用 CHECK 条件为列中的值指定条件。
此条件可以指定为确保数据合理性而必须满足的规则,也可以指定用以反映组织政策和程序的规则。
如果某列的有效值限制在一定范围内,则可以单独在该列上使用 CHECK 条件。
输入的值应与一组有限数量的值中的一个相匹配。要指定 city 列只包含几个允许城市(例如,组织在当地设有办事处的城市)中的一个,可以使用与以下约束相类似的约束:
ALTER TABLE office
MODIFY city
CHECK ( city IN ( 'city_1', 'city_2', 'city_3' ) )
缺省情况下,比较字符串时不区分大小写,除非创建数据库时使用 CASE RESPECT 选项显式指定需要区分大小写。
日期或数字在特定的范围内。您可能希望要求 employee 表中的 start_date 列必须处在组织成立日期和当前日期之间,如下所示:
ALTER TABLE employee
MODIFY start_date
CHECK ( start_date BETWEEN '1983/06/27'
AND CURRENT DATE )
有多种日期格式可以使用:无论当前选项设置如何,始终识别 YYY/MM/DD 格式。