T-SQL

T-SQL 知识量:16 - 67 - 243

5.5 检查约束><

在创建表时添加检查约束- 5.5.1 -

在T-SQL中,可以在创建表时添加检查约束,以确保列中的数据满足特定条件。以下是添加检查约束的示例:

CREATE TABLE 表名 (  
    列名 数据类型 CHECK (条件)  
);

在上述示例中,表名是要创建的表的名称,列名是要添加检查约束的列的名称,条件是用于定义检查约束的条件。

例如,以下是一个创建名为employees的表并添加检查约束的示例:

CREATE TABLE employees (  
    id INT PRIMARY KEY,  
    name NVARCHAR(50),  
    age INT CHECK (age >= 18 AND age <= 65),  
    salary DECIMAL(10, 2)  
);

在上述示例中,employees表中的age列被添加了一个检查约束,要求年龄必须在18到65之间。这意味着在插入或更新记录时,如果年龄不满足该条件,将会引发错误。

注意:检查约束可以用于限制列中的数据类型、范围、格式等。确保在定义检查约束时仔细考虑其逻辑和范围,以确保它们能够有效地保护数据的完整性和准确性。

在现有表中添加检查约束- 5.5.2 -

要在现有表中添加检查约束,可以使用ALTER TABLE语句配合ADD CONSTRAINT子句。以下是一个示例:

ALTER TABLE 表名    
ADD CONSTRAINT 约束名    
CHECK (条件);

在上述示例中,表名是要添加检查约束的表的名称,约束名是要为检查约束指定的名称,条件是用于定义检查约束的条件。

例如,以下是一个在名为employees的现有表中为age列添加名为CK_Age的检查约束的示例:

ALTER TABLE employees  
ADD CONSTRAINT CK_Age  
CHECK (age >= 18 AND age <= 65);

上述示例将在employees表中为age列添加一个名为CK_Age的检查约束,要求年龄必须在18到65之间。这意味着在插入或更新记录时,如果年龄不满足该条件,将会引发错误。

注意:添加检查约束可能会影响已经存在的记录。

删除检查约束- 5.5.3 -

要删除T-SQL中的检查约束,可以使用ALTER TABLE语句配合DROP CONSTRAINT子句。以下是删除检查约束的示例:

ALTER TABLE 表名    
DROP CONSTRAINT 约束名;

在上述示例中,表名是要删除检查约束的表的名称,约束名是要删除的检查约束的名称。

例如,以下是一个删除名为CK_Age的检查约束的示例:

ALTER TABLE employees    
DROP CONSTRAINT CK_Age;

上述示例将从名为employees的表中删除名为CK_Age的检查约束。

注意:在执行此操作之前,请确保没有其他表或触发器依赖于要删除的默认值约束。