我VIEW
正在尝试为其创建演化脚本的位置,因此可以在其中添加一列。那部分工作正常;列添加就好了。但是,相反的方法无效。删除最后添加的列失败并显示一条ERROR: cannot drop columns from view
消息。问题在于,这个特定的视图有很多引用,包括从和到的引用,因此,我不能只是DROP CASCADE
一个令人毛骨悚然的东西!
为什么无法从给定中删除新添加的列VIEW
?然后,我该怎么做才能完成此任务?
(注意:这里是实际情况,但在许多其他情况下,我也很可能会看到类似的情况,也就是从视图中删除列。)
@CraigRinger,是的,
—
Yanick Rochon 2014年
CREATE OR REPLACE VIEW
具有相同的定义,除了一个额外的列(因为引用表中添加了新列,因此视图必须包含它)。“下放”将从引用表中删除该列,因此VIEW
也必须不再返回该列。
ALTER VIEW ... ADD COLUMN
。您正在使用CREATE OR REPLACE VIEW
吗?请显示您的代码。