T-SQL学习之路之数据库完整性之默认值

          默认值(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 联机丛书。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值