相关疑难解决方法(0)

带有约束的SQL Server 2005 drop column

我有一个带有"DEFAULT"约束的列.我想创建一个删除该列的脚本.

问题是它返回此错误:

Msg 5074, Level 16, State 1, Line 1  
The object 'DF__PeriodSce__IsClo__4BCC3ABA' is dependent on column 'IsClosed'. 
Msg 4922, Level 16, State 9, Line 1 
ALTER TABLE DROP COLUMN IsClosed failed because one or more objects access this column.
Run Code Online (Sandbox Code Playgroud)

我找不到一种简单的方法来删除一个列及其所有相关的约束(只发现了查看系统表的大脚本......必须(!!)这是一个"好"的方法.)

由于DEFAULT约束的名称是随机生成的,我不能按名称删除它.


更新:
约束类型为"DEFAULT".

我看到了你们提出的解决方案,但我发现它们都非常"脏"......你不觉得吗?我不知道它是用于Oracle还是MySQL,但它可以做类似的事情:

DROP COLUMN xxx CASCADE CONSTRAINTS 
Run Code Online (Sandbox Code Playgroud)

它会丢弃所有相关的约束......或者至少它会自动删除映射到该列的约束(至少CHECK约束!)

在MSSQL中没有类似的东西吗?

sql-server sql-server-2005

60
推荐指数
6
解决办法
7万
查看次数

标签 统计

sql-server ×1

sql-server-2005 ×1