图片 9

SQLServer之修改DEFAULT约束

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

 图片 1

图片 2

创制表时添加私下认可约束

第二判断表是还是不是选在,若是存在则先删除表再添加,如果不存在则直接助长。

语法:

–创立新表时添加暗中认可约束
–数据库注明
use 数据库名
go
–假诺表已存在则先删除表再成立,倘若表不存在则直接成立
if exists(select * from sysobjects where
name=表名 and type =’U’)
drop table 表名;
go
–建表语法注明
create table 表名
(
–字段申明
列名 列类型 identity(1,1) not
null,
列名 列类型) null,
列名 列类型 null,
列名 列类型 null,
列名 列类型,
列名 列类型 constraint 约束名 default
默认值,
primary key clustered(列名 asc)
with(ignore_dup_key=off) on [primary] –主键索引申明
)on [primary]

–字段注释评释
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’列说明’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’表名’,
@level2type=N’COLUMN’,@level2name=N’列名’;

go

示例:

–创造新表时添加暗中认可约束
–数据库注脚
use testss
go
–要是表已存在则先删除表再创制,如果表不设有则一贯开立
if exists(select * from sysobjects where
name=’test1′ and type =’U’)
drop table test1;
go
–建表语法注脚
create table test1
(
–字段注解
id int identity(1,1) not null,
name nvarchar(50) null,
sex nvarchar(50) null,
age nvarchar(50) null,
classid int,
height int constraint default_he default
166,
primary key clustered(id asc)
with(ignore_dup_key=off) on [primary] –主键索引证明
)on [primary]

–字段注释阐明
exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’id主键’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’id’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’姓名’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’name’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’性别’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’sex’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’年龄’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’age’;

exec sys.sp_addextendedproperty
@name=N’MS_Description’, @value=N’班级id’ ,
@level0type=N’SCHEMA’,
@level0name=N’dbo’,
@level1type=N’TABLE’,@level1name=N’test1′,
@level2type=N’COLUMN’,@level2name=N’classid’;

go

图片 3

图片 4

总结

壹、每一个字段只好有3个私下认可约束。
2、假若私下认可约束设置的值超出字段所允许的长短,则截取到字段允许长度。
三、无法投入到含有IDENTITY属性或然TIMESTAMP的字段上。
四、如若字段的数据类型为用户自定义类型,而且已有默许值绑定在此数据类型上,则区别意再度行使默许值。

 

动用T-SQL脚本添加DEFAULT约束

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

一、连接数据库、选用数据表-》右键点击-》选取设计。

图片 5

2、在表设计器窗口-》选中要修改的多寡列-》在列属性中找到暗许值绑定-》实行改动。

图片 6

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

图片 7

当表结构已存在时

先是判断表中是还是不是留存默许约束,如若存在则先删除暗许约束再添加,假设不设有则从来抬高。

语法:

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=’defalut_height’)
alter table [testss].[dbo].[test1]
drop constraint defalut_height;
go
–给钦定列添加暗中认可约束
alter table [testss].[dbo].[test1]
add constraint defalut_height default(160) for height;
go

图片 8

图片 9

发表评论

电子邮件地址不会被公开。 必填项已用*标注