我在桌子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。我有办法更新定义吗?遗憾的是,删除并重新创建视图不是我的选择,因为我有其他视图取决于此视图,我不想在每次更新时都重新创建它们。