默认值(Default)是用户插入记录时向没有指定具体数据的列中自动插入的数据,默认值对象与CREATE TABLE或ALTER TABLE语句操作表时用DEFALUT约束指定的默认值功能相似,两者的区别类似于规则与CHECK约束在使用上的区别。
默认值对象可以用于多个列或用户定义数据类型,表的一列或一个用户定义数据类型只能与一个默认值相绑定。
默认值对象可以用于多个列或用户定义数据类型,表的一列或一个用户定义数据类型只能与一个默认值相绑定。
默认值的创建、查看、绑定、解除和删除等操作可在图形界面中进行,也可利用T-SQL语句进行。
---------------------创建默认值
使用T-SQL语句中的CREATE DEFAULT语句在当前数据库就中创建默认值,其语法格式如下:
CREATE DEFAULT [ schema_name . ] default_name
AS constant_expression [ ; ]
说明:
● default_name:默认值的名称。
● constant_expression:包含常量值的表达式。
例如,创建性别默认值stsex_dft
USE stsc
GOCREATE DEFAULT stsex_dft
AS '男'
GO
创建出生日期默认值stbirthday_dft
USE stsc
GO
CREATE DEFAULT stbirthday_dft
AS '1992-01-01'
GO
---------------------查看默认值
查看默认值使用系统存储过程 sp_helptext,其语法格式如下:sp_helptext [ @objname = ] 'name' [ , [ @columnname = computed_column_name ]
说明:
[ @objname = ] 'name‘ 子句指明对象名称。
例如:查看默认值stsex_dft
USE stsc
GO
EXECUTE sp_helptext stsex_dft
GO<span style="font-family:Microsoft YaHei;font-size:14px;">
</span>
---------------------绑定默认值
使用系统存储过程 sp_bindefault 绑定默认值,其语法格式如下:sp_bindefault [ @defname = ] 'default' ,
[ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
说明:
● [ @defname = ] 'default':指定默认值的名称。
● [ @objname = ] 'object_name':要绑定默认值的表的列或用户定义数据类型。
● [ @futureonly = ] 'futureonly_flag':仅当将默认值绑定到用户定义数据类型时才能使用。
例如:将stsex_dft默认值绑定到student表的stsex列上:
USE stsc
GO
EXECUTE sp_bindefault stsex_dft,'student.stsex'
GO
---------------------解除默认值
解除默认值使用系统存储过程 sp_unbindefault,其语法格式如下:sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
例如:解除stsex_dft默认值与student表的stsex列的绑定
USE stsc
GO
EXECUTE sp_unbindefault 'student.stsex'
GO
---------------------删除默认值
删除默认值使用 DROP DEFAULT语句,用于从当前数据库中删除一个或多个默认值,其语法格式如下:DROP DEFAULT { [ schema_name . ] default_name } [ ,...n ] [ ; ]
注意:删除默认值前,必须先解除该默认值与对象的绑定。
例如,删除生日默认值stbirthday_dft
USE stsc
GO
DROP DEFAULT stbirthday_dft
GO
更多信息,请参考 sqlserver 联机丛书。
更多推荐
T-SQL学习之路之数据库完整性之默认值
发布评论