使用SSMS数据库管理工具修改CHECK约束

1、张开数据库,选拔数据表-》右键点击-》选用设计(只怕拓展约束,选用约束,右键点击,选拔修改,后边步骤一样)。

图片 1

图片 2

2、选用要修改的数目列-》右键点击-》选拔CHECK约束。

图片 3

3、在CHECK约束弹出框中-》选取要修改的封锁-》输入约束表明式-》输入约束名和平条目束描述-》选拔表设计器准绳-》点击关闭。

图片 4

 4、点击保存按键(也许ctrl+s)-》刷新表查看修改结果。

图片 5

动用T-SQL脚本加多CHECK约束

使用T-SQL脚本修改CHECK约束

CHECK约束修改法规必须首先删除现成的CHECK封锁,然后选择新定义再次创造,才干利用Transact-SQL修改CHECK约束。

语法:

–修改check约束
use 数据库名
go

–若是封锁存在则先删除
if exists(select * from sysobjects where
name=约束名)
alter table 表名 drop constraint
约束名;
go

–增添封锁
alter table 表名
–with check
–该约束是还是不是选用于现成数据,with check表示应用于现存数量,with
nocheck表示不应用于现存数据
add constraint 约束名
check
not for replication
–当复制代理在表中插入或更新数据时,禁止使用该约束。
(约束表明式);
go

–向表中增添新数据或更新表中现成数据时是不是禁用该约束。check表示校验,nocheck表示不校验
–alter table 表名
–check
–constraint 表名;
–go

–增添check约束描述
execute sp_addextendedproperty
N’MS_Description’, N’约束描述’, N’SCHEMA’, N’dbo’, N’TABLE’, N’表名’,
N’CONSTRAINT’, N’约束名’;
go

示例:

–修改check约束
use testss
go

–假如封锁存在则先删除
if exists(select * from sysobjects where
name=’u_check2′)
alter table test1 drop constraint
u_check2;
go

–增多封锁
alter table test1
–with check
–该约束是不是利用于现成数据,with check表示应用于现成数量,with
nocheck表示不选拔于现存数据
add constraint u_check2
check
not for replication
–当复制代理在表中插入或更新数据时,禁用该约束。
(height>=100 and height
<=200);
go

–向表中增多新数据或更新表中现成数据时是或不是禁用该约束。check代表校验,nocheck表示不校验
–alter table test1
–check
–constraint u_check2;
–go

–增添check约束描述
execute sp_addextendedproperty
N’MS_Description’, N’修改约束’, N’SCHEMA’, N’dbo’, N’TABLE’, N’test1′,
N’CONSTRAINT’, N’u_check2′;
go

图片 6

图片 7

CHECK约束优缺点

优点:

1、保障列数据正式和范围,能够约束数据完整性

2、有Check约束的列能够提供给查询优化器音信之所以进步品质

缺点:

1、插入可能修改时数据不相符约束准则,无法修改成功。

CHECK约束修改优劣势

优点:

1、修改数据库CHECK约束能够保障数据的规范性和完整性。

缺点:

1:修改约束的表设计器使用准则时,恐怕会挑起原有数据与约束的争论。

 

CHECK约束增加准则

1、CHECK
约束用于限制列中的值的范围。

2、Check约束通过逻辑表明式来推断数据的有用,用来限制输入一列或多列的值的限制,在列中更新数据时,所要输入的内容必须满意Check约束的规格,不然将不可能正确输入。

3、如若对单个列定义 CHECK
约束,那么该列只同意特定的值。

4、倘若对三个表定义 CHECK
约束,那么此约束会在一定的列中对值进行限定。