sql server 中删除默认约束的通用sql脚本

作者:sealyu 来源:BlogJava 时间:2009-02-01 17:23:00 

在SQL Server 中,如果给表的一个字段设置了默认值,就会在系统表sysobjects中生成一个默认约束。
如果想删除这个设置了默认值的字段(假设此字段名column1),执行“ALTER TABLE table1 DROP COLUMN column1”时就会报错:

The object 'DF__xxxxxxxxxxx' is dependent on column 'column1'.
ALTER TABLE DROP COLUMN column1failed because one or more objects access this column.

所以在删除此字段时需要先将系统表中的对应默认约束删除, 可以使用下面的脚本进行删除:


-- this script drops the default constraint which is generated by the setting of default value.
DECLARE @tablename VARCHAR(100), @columnname VARCHAR(100), @tab VARCHAR(100)
SET @tablename='CountryGroupEmailAndWaitAux'
SET @columnname='actionOfHasNoValidEmail'

declare @defname varchar(100)
declare @cmd varchar(100)

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 table1 DROP COLUMN column1

即可删除字段。

标签:
0
投稿

猜你喜欢

  • 一个向上滚动代码

    2010-02-10 12:29:00
  • js截取字符串的方法

    2008-04-20 17:06:00
  • SQL Server 日期相关资料详细介绍

    2012-07-11 16:14:07
  • XMLHTTP自动判断远程网页字符编码

    2007-12-28 13:41:00
  • ASP实现网页打开任何类型文件都保存的方法

    2007-12-21 13:10:00
  • 跨浏览器使用剪贴板

    2008-09-27 13:26:00
  • 10个糟糕的IE Bug及其修复

    2010-05-13 16:26:00
  • asp下通过HTTP_USER_AGENT判断用户是从手机上访问,还是电脑IE上访问

    2011-02-24 11:00:00
  • 教程:MySQL中多表操作和批处理方法

    2009-07-30 08:20:00
  • 未能找到存储过程’master.dbo.xp_fileexist’解决方法

    2011-03-13 09:29:00
  • asp下查询xml的实现代码

    2011-04-19 10:37:00
  • Asp编写不再让人讨厌的自动弹出窗口

    2007-09-29 12:16:00
  • 长期使用中型Access数据库的一点经验

    2007-12-21 13:23:00
  • 讲述SQL Server数据转换服务小妙招

    2010-07-26 14:43:00
  • ASP.NET 2.0中Gridview控件高级技巧图文教程

    2007-08-07 15:46:00
  • oracle 动态AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)

    2009-06-19 17:21:00
  • 文字的减法

    2007-11-06 12:58:00
  • MySQL转义字符的实际应用

    2010-08-31 14:55:00
  • 各种JavaScript开发工具比较

    2007-10-23 13:29:00
  • 由浅入深漫谈margin属性

    2007-05-11 17:03:00
  • asp之家 网络编程 m.aspxhome.com