0

我在桌子x上有一个视图v。后台任务创建一个新表y,视图v现在应该指向该表。为此,我使用以下命令

ALTER VIEW PUBLIC.v AS SELECT id, name, price FROM y

之后,我确认视图v指向表y,到目前为止一切顺利。但是,如果我现在尝试删除旧表x,我会收到以下错误消息

Error code -5502, SQL state 42502: dependent objects exist: PUBLIC.V in statement [drop table x]

INFORMATION_SCHEMA.VIEWS因此,如果使用以下命令检查系统视图表

select * from INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA='PUBLIC' AND TABLE_NAME='V'

它给了我以下视图定义:

SELECT T.id,T.name,T.price FROM PUBLIC.x

这表示视图指向旧表x。我有办法更新定义吗?遗憾的是,删除并重新创建视图不是我的选择,因为我有其他视图取决于此视图,我不想在每次更新时都重新创建它们。

4

1 回答 1

0

这是一个错误。它将在下一次更新(版本 2.3.2)中修复。

一种替代方法是关闭数据库然后重新打开它

于 2013-11-01T20:59:41.040 回答