修改表字段的默认值

 修改表的默认值的方法大家都知道了,给表建立一个约束即可,如:

ALTER   TABLE   TableName   add constraint ConstraintName default ('abc') for FieldName

一般做添加修改默认值的功能时还要判断这个字段上是不是已经有了约束了。如果有约束就必须在建立约束前先删除原来的约束,否则会报出:

消息 1781,级别 16,状态 1,第 5 行
已在列上绑定了 DEFAULT。
消息 1750,级别 16,状态 0,第 5 行
无法创建约束。请参阅前面的错误消息。

这是由于在要建立约束的列上已经有了一个约束的缘故,所以要先判断,如果已有约束就要删除它:

if exists(select   *  from   sysobjects   where   name='ConstraintName')
begin
ALTER TABLE bbb DROP CONSTRAINT ConstraintName
end

如果这个'abc'默认值是一个变量的话就只能用动态语句了。

Exec('ALTER TABLE TableName add constraint ConstraintName default (''' + @TableName + ''') for FieldName')--注意,这里@TableName变量是varchar类型,外面是3个单引号。

你可能感兴趣的:(MS-SQLSERVER,table)