我有一个带有"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中没有类似的东西吗?