您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 微信小程序 >> 正文

如何drop有default constraint的column - SQL

2010-12-20vczx佚名

有时候我们在drop column的时候,会遇到一些default constraints而不能drop,如果我们已经知道constraint name,则可以用下面的语句先把constraint remove掉,然后再drop column。

declare @sql nvarchar(1024)
set @sql = N'alter table [system] drop constraint DF_system_LastGraceDate'

exec sp_executesql @sql

如果我们不知道constraint name,我们可以先把他们找出来,然后再remove掉。

-- create alter table command as string and run it
declare @sql nvarchar(1024)
set @sql = N'alter table [system] drop constraint DF_system_LastGraceDate'

exec sp_executesql @sql


-- first define variables
declare @default sysname, @sql nvarchar(max)

-- get name of default constraint

select @default = name
from
sys.default_constraints
where parent_object_id = object_id('TABLE_NAME'
)
AND type = 'D'

AND parent_column_id = (
   
select
column_id
   
from
sys.columns
   
where object_id = object_id('TABLE_NAME'
)
   
and name = 'COLUMN_NAME'

)

-- create alter table command as string and run it
set @sql = N'alter table TABLE_NAME drop constraint ' + @default
exec sp_executesql @sql

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:vczx 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下