使用数据定义语言删除列和所有依赖对象
我需要从表中删除一列,但是当我尝试删除它时:
对象“object_name”是依赖的 在“column_name”列上。
ALTER TABLE DROP COLUMN column_name 失败,因为 一个或多个对象访问 this 专栏。
我可以在系统表中查找依赖项并手动删除它,但我需要进行迁移(使用 SQL DDL),因此团队的所有其他成员只需执行更新、运行迁移,而不必弄乱系统对象。
I need to remove a column from a table, but when I try to remove it:
The object 'object_name' is dependent
on column 'column_name'.ALTER TABLE DROP COLUMN column_name failed because
one or more objects access this
column.
I can look for the dependency in the system tables and remove it manually, but I need to do a migration (using SQL DDL) so all others members of the team just do the update, run the migration and don´t have to mess up up system objects.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试此代码:
然后运行常规更改表:
使用第一个代码,您可以删除对该列的所有依赖项,然后您可以毫无问题地删除它。
编辑 - 删除默认值约束:
上面的代码似乎没有删除 DEFAULT_CONSTRAINTS 因此,在这种情况下您还必须使用:
Try this code:
and then run your regular alter table:
With the first code you remove all the dependencies on that column and then you can remove it without problems.
EDIT - Removing Default Values Constraints:
The code above does not seems to remove DEFAULT_CONSTRAINTS so, in that case you must also use: