7.4.2 在现有表中添加默认值约束

默认值约束可以在创建好数据表之后再来添加,但是不能给已经添加了默认值约束的列再添加默认值约束了。在现有表中添加默认值约束可以通过ALTER TABLE语句来完成,具体的语法格式如下:

     ALTER TABLE table_name
     ADD CONSTRAINT default_name DEFAULT constant_expression FOR col_name;

主要参数介绍如下:

• table_name:表名,是要添加默认值约束列所在的表名。

• default_name:默认值约束的名字,可以省略,省略后系统将会为该默认值约束自动生成一个名字。系统自动生成的默认值约束名字通常是“df_表名_列名_随机数”这种格式的。

• DEFAULT:默认值约束的关键字,如果省略默认值约束的名字,那么DEFAULT关键字直接放到ADD后面,同时去掉CONSTRAINT。

• constant_expression:常量表达式,可以直接是一个具体的值,也可以是通过表达式得到一个值,但是这个值必须与该字段的数据类型相匹配。

• col_name:设置默认值约束的列名。

【例7.10】蔬菜信息表创建完成后,下面给蔬菜的备注说明列添加默认值约束,将其默认值设置为“保质期为2天,请注意冷藏!”。

在【查询编辑器】窗口中输入如下T-SQL语句:

单击【执行】按钮,即可完成默认值约束的添加操作,并在【消息】窗格中显示命令已成功完成的信息提示,如图7-24所示。

图7-24 添加默认值约束

打开蔬菜信息表的设计界面,选择添加默认值的列,即可在【列属性】列表中查看添加的默认值约束信息,如图7-25所示。

图7-25 查看添加的默认值约束

【例7.11】给蔬菜信息表的备注说明列再添加一个默认值约束,将其默认值设置为“保质期为5天”。

在【查询编辑器】窗口中输入如下T-SQL语句:

     ALTER TABLE vegetables
     ADD CONSTRAINT df_vegetables_remark DEFAULT '保质期为5天' FOR remark;

单击【执行】按钮,会在【消息】窗格中显示命令执行的结果,从结果可以看出无法再次添加默认值约束,说明给表中的每一个列只能添加一个默认值约束,如图7-26所示。

图7-26 【消息】窗格