【发布时间】:2008-11-24 18:36:30
【问题描述】:
我有一列带有“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.
我找不到删除列及其所有相关约束的简单方法(仅找到查看系统表的大脚本......必须(!!)是一种“好”的方法来做到这一点。 )
由于默认约束的名称是随机生成的,我不能按名称删除它。
更新:
约束类型为“DEFAULT”。
我看到了你们提出的解决方案,但我发现它们都非常“肮脏”……你不觉得吗? 我不知道是 Oracle 还是 MySQL,但可以这样做:
DROP COLUMN xxx CASCADE CONSTRAINTS
它放弃了所有相关的约束...... 或者至少它会自动删除映射到该列的约束(至少检查约束!)
MSSQL 中没有类似的东西吗?
【问题讨论】:
标签: sql-server sql-server-2005