SQLServer之修改DEFAULT约束

发布时间:2018-12-25  栏目:SQL  评论:0 Comments

CHECK约束修改优缺点

优点:

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

缺点:

1:修改约束的表设计器使用规则时,可能会唤起原有数据与约束的争辩。

 

利用SSMS数据库管理工具修改DEFAULT约束

1、连接数据库、接纳数据表-》右键点击-》选拔设计。

图片 1

2、在表设计器窗口-》选中要修改的数据列-》在列属性中找到默认值绑定-》举办修改。

图片 2

3、点击保存(或者ctrl+s)-》关闭表设计器-》刷新表-》重新打开表设计器查看。

图片 3

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

1、打开数据库,采取数据表-》右键点击-》采取设计(或者举办约束,选取约束,右键点击,拔取修改,后边步骤一样)。

图片 4

图片 5

2、接纳要修改的数目列-》右键点击-》采纳CHECK约束。

图片 6

3、在CHECK约束弹出框中-》采纳要修改的自律-》输入约束表明式-》输入约束名和约束描述-》选用表设计器规则-》点击关闭。

图片 7

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

图片 8

运用T-SQL脚本修改DEFAULT约束

DEFAULT约束修改规则必须首先删除现有的DEFAULT约束,然后利用新定义再次创造,才能采用Transact-SQL修改DEFAULT约束。

语法:

–使用数据库
use 数据库名;
go
–判断要创造的自律是否已存在
if exists(select * from sysobjects where
name=约束名)
alter table 表名 drop constraint
约束名;
go
–添加默认值约束
alter table 表名 add constraint 约束名
default 约束值 for 列名;
go

示例:

–使用数据库
use testss;
go
–判断要成立的封锁是否已存在
if exists(select * from sysobjects where
name=’default1′)
alter table test1 drop constraint
default1;
go
–添加默认值约束
alter table test1 add constraint default2
default 18 for age;
go

 图片 9

图片 10

使用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

图片 11

图片 12

总结

1、每个字段只可以有一个默认约束。
2、假若默认约束设置的值超出字段所允许的尺寸,则截取到字段允许长度。
3、不可以参与到含有IDENTITY属性或者TIMESTAMP的字段上。
4、假设字段的数据类型为用户自定义类型,而且已有默认值绑定在此数据类型上,则不容许再度利用默认值。

 

留下评论

网站地图xml地图