平谷信息港
养生
当前位置:首页 > 养生

考辛斯无人问津_以下为引用的内容

发布时间:2019-07-04 00:41:35 编辑:笔名

17:28 来源:BlogJava :G论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

在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 CLARE @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 = nameFROM sysobjects so JOIN sysconstraints scON = nstidWHERE object_name(rent_obj) = @tablenameAND ype = 'D'AND lid =(SELECT colid FROM syscolumnsWHERE id = object_id(@tablename) ANDname = @columnname)

select @cmd='alter table '+ @tablename+ ' drop constraint '+ @defnameif @cmd is null print 'No default constraint to drop'exec (@cmd)

在删除对应的默认约束后,执行:

ALTER TABLE table1 DROP COLUMN column1

即可删除字段

查看更多相似文章

百色白癜风专科医院哪好
平凉治疗妇科的医院哪家好
丹东外科医院哪家好