在 hsqldb 2.2.9 中更新视图
Posted
技术标签:
【中文标题】在 hsqldb 2.2.9 中更新视图【英文标题】:Updating Views in hsqldb 2.2.9 【发布时间】:2013-11-01 15:07:47 【问题描述】:我在 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。我有办法更新定义吗?遗憾的是,删除并重新创建视图不是我的选择,因为我有其他视图取决于此视图,我不想在每次更新时都重新创建它们。
【问题讨论】:
【参考方案1】:这是一个错误。将在下次更新(2.3.2 版)中修复。
另一种方法是关闭数据库然后重新打开它
【讨论】:
以上是关于在 hsqldb 2.2.9 中更新视图的主要内容,如果未能解决你的问题,请参考以下文章