日期:2014-05-19  浏览次数:20586 次

alter 修改表字段的默认值问题。!!!!
我想修改一个表的默认值,下面的SQL提示出错。
ALTER   TABLE   [dbo].[Employee]   ALTER   COLUMN   cID   char(10)   SET   Default   '22 '   NOT   NULL  

出错信息为:
服务器:   消息   156,级别   15,状态   1,行   1
Incorrect   syntax   near   the   keyword   'Default '.

请问是什么原因。怎么样才能修改表字段的默认值

------解决方案--------------------
--如果知道默认值的约束名,按如下:

alter table 表名 drop constraint 约束名


--如果不知道默认值约束的名称,需要用SQL来取得:

declare @csname varchar(100)
set @csname= ' '

select @csname=[name] --约束名称
from sysobjects t
where id=(select cdefault from syscolumns where id=object_id(N '表名 ') and name= '字段名 ')

--动态删掉约束
exec( 'alter table 表名 drop constraint '+@csname)