当前位置:首页 > 系统运维 > 正文内容

SQL Server中对应默认约束的删除 ***

a8116255316年前 (2010-09-08)系统运维9

下面将为您介绍在SQL Server中将系统表中的对应默认约束删除的脚本,供您参考,希望对您能够有所启迪。

在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

即可删除字段。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/22354.html

分享给朋友:

“SQL Server中对应默认约束的删除 *** ” 的相关文章

上帝不止一个 更多Windows7 快捷模式.

上帝不止一个 更多Windows7 快捷模式.

国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...

windows 7系统件夹和文件都不显示名字如何解决

windows 7系统件夹和文件都不显示名字如何解决

假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

windows 7系统怎么取消禁ping命令?

windows 7系统怎么取消禁ping命令?

当我在虚拟机的linux系统中ping本机的ip发现ping不通,而本机可以ping通虚拟机中的ip。应该是出于安全考虑吧,Windows 7默认在防火墙里禁止了。 1、查看主机ip 打开“开始”程序中的“附件”,找到“命令提示符”打开。输入命令:ipconfig,可以看到本机的ip是192.1...

windows 7旗舰版系统提示应用程序错误代码0xc0000409的故障原因

windows 7旗舰版系统提示应用程序错误代码0xc0000409的故障原因

问题现象,具体如下所示:  故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。       解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...

Ubuntu 14.10上安装新的字体图文教程

Ubuntu 14.10上安装新的字体图文教程

像Ubuntu这种开源系统,一般都自带有好多漂亮的字体,不过假如您想使用您熟悉的字体,可以通过在Ubuntu或其它Linux系统上安装字体,帮助用户在使用开源OS平台上更好的视图体验。 软件名称:Ubuntu 14.04 官方正式版软件大小:752MB更新时间:2014-05-07 Ubun...