博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何drop有default constraint的column - SQL
阅读量:6222 次
发布时间:2019-06-21

本文共 1100 字,大约阅读时间需要 3 分钟。

有时候我们在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掉。

 

ExpandedBlockStart.gif
代码
 
--
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

 

 

 

 

  本文转自loose_went博客园博客,原文链接:http://www.cnblogs.com/michaelxu/archive/2010/04/15/1712510.html,如需转载请自行联系原作者

你可能感兴趣的文章
结合Spring发送邮件的四种正确姿势,你知道几种?
查看>>
使用钉钉通知你的 Laravel 框架系统异常
查看>>
【译】Vue 的小奇技(第一篇):提高大型数据列表的性能
查看>>
android中compileSdkVersion、minSdkVersion、targetSdkVersion 的选择
查看>>
0224 - 技术的道与术
查看>>
小哥哥~手把手教你如何绘制一辆会跑车
查看>>
【webpack进阶】使用babel避免webpack编译运行时模块依赖
查看>>
如何应对线上的偶现问题
查看>>
程序员你为什么这么累【续】:编码习惯之Controller规范
查看>>
【火炉炼AI】深度学习001-神经网络的基本单元-感知器
查看>>
主成分分析(PCA)
查看>>
小程序前端制作-我的
查看>>
你不知道的的 iOS 多线程
查看>>
Swift 线程安全数组
查看>>
坑系列 —— 缓存 + 哈希 = 高并发?
查看>>
Kotlin实战之Fuel的高阶函数
查看>>
Webgoat学习笔记
查看>>
Android平台下二维码漏洞攻击杂谈
查看>>
UI 设计小白入门论
查看>>
solr 7.0 搭建 maven 集成,基于tomcat 搜索引擎 部署
查看>>