为保证安全,本站点已取消所有百度云分享链接,如有下载需要,请在评论里留下邮箱。 |
如果这个表的这一列有默认值约束,那么如果直接删除就会报错,这里有一个脚本专门删除列的默认约束
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
--只要改两个参数 declare @tablename varchar(100), @columnname varchar(100), @tab varchar(100) set @tablename = 'GL_VoucherOption' --表名(不要加多余的东西) set @columnname= 'bPrintAsscode' --字段名称 declare @defname varchar(100) --约束名称 declare @cmd varchar(100) --构造的SQL语句 select @defname = name from sysobjects so join sysconstraints sc on so.id = sc.constid where object_name(so.parent_obj) = @tablename and so.xtype = 'd' and sc.colid =(select colid from syscolumns where id = object_id(@tablename) and name = @columnname) select @cmd= 'alter table '+ @tablename+ ' drop constraint '+ @defname if @cmd is null print ' no default constraint to drop' exec (@cmd) --删除列 alter table dbo.GL_VoucherOption --表名 drop column bPrintAsscode --列名 |
未经允许不得转载:晚风博客 » SQL server 删除表的列