Sql server中如何删除有默认值的列


  本文标签:SQL 删除

  删除列操作是在使用Sql server数据库中比较常见的操作,但是如果删除的列有默认值,那应该如何操作呢?下面就将为您介绍Sql server中删除有默认值的列的方法  。

  Access数据库里可以直接用alter table article drop [列名]来删队列,但在Sql server数据库,如果这个列有默认值,这样删除列会报错,这时要删除列的默认值  。

  declare @name varchar(20)
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id([表名]) and b.id=a.cdefault and a.name=[列名] and b.name like DF%
exec(alter table article drop constraint +@name)
alter table [表名] drop column [列名]

  其它:
删除索引时Access为:drop index indexName on tableName
sql 为:drop index tableName.indexName

  mssql给表添加主索引:alter table tablename add constraint [DF_tablename] default (1) for column

  建带主索引表:create table tablename (id int identity(1,1) not null constraint PK_tablename primary key, column1 nvarchar(250) null)