sql server删除有默认值的列

2009年3月10日星期二

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)

0 评论:

发表评论