缺省约束属于域完整性。
缺省约束也称为默认约束或DEFAULT约束,可以在创建表时创建,也可以使用数据库对象默认创建。如果一个表中的列定义了DEFAULT约束或者绑定了默认对象。则在输入数据时,如果该字段没有输入值,则由DEFAULT约束提供默认数据。这种约束的主要特征有以下几个方面:
√ 每个字段只能有一个DEFAULT约束,即如果列上已经有一个默认约束,就不能在该列上再创建一个默认约束。
√ DEFAULT约束不能放在IDENTITY字段上或者TIMESTAMP字段上,因为这两种字段都能自动插入数据。
√ 作为默认的值必须对于绑定到该列或者数据类型上的规则是有效的,即该值必须是合法值。
√ 作为默认的值必须对于该列上的检查约束来说是有效的,即在检查约束的指定范围之内。
默认约束语法规则如示例代码3-19所示。
图3-8 非空约束设置
1.使用T-SQL语句在定义表或修改表时创建默认约束
例如,在向电子购物商城的customer表的“CusPassWord”字段在默认情况下新增记录时DEFAULT定义为“888888”值,当向该数据库表增加新记录时,“CusPassWord”不输入值,新增数据成功后,则发现新记录的“CusPassWord”字段的值为“888888”。
创建表时使用默认约束如示例代码3-20所示。
如果需要设置customer表的“CusSex”字段的默认值为0(表示:女),可以通过修改现有的表来重新设置该字段的默认值。
修改表时使用默认约束的示例如示例代码3-21所示。
在使用“新查询编辑器窗口”将客户信息表的客户性别字段,设置为默认约束(如示例代码3-21),然后插入一条记录,该记录不指定客户性别字段的值,然后查询其结果,示例代码如3-22所示,执行结果如图3-9所示。
从图3-9中可以看出客户号为“1005”的客户性别字段插入了默认值“0”。(www.xing528.com)
2.使用Microsoft SQL Server Management Studio工具创建表时指定默认值
在使用Microsoft SQL Server Management Studio工具创建数据库表时,可以直接在创建表的“列属性”页指定默认值。
例如,在创建customer数据库的“CusPassWord”列时,在“列属性”页指定“默认值或绑定”值为“888888”,如图3-10所示。
3.使用T-SQL语句管理默认约束对象
(1)创建默认约束对象
创建默认约束对象的语法规则如示例代码3-23所示。
图3-9 设置默认值约束
图3-10 设置默认值
假如,我们需要对customer数据库表创建一个customer_CusSex的默认约束对象,默认值为“0”(表示:女)。
创建默认约束对象如示例代码3-24所示。
(2)删除默认约束对象
删除默认约束对象的语法规则如示例代码3-25所示。
假设我们需要删除刚才创建的customer_CusSex的默认约束对象。
创建默认约束对象的示例如示例代码3-26所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。