【发布时间】:2019-02-22 19:16:28
【问题描述】:
我在 Redshift 中创建了一个合并两个查询的视图,效果很好。我们已经想到了值得添加的第三个查询。例如
CREATE VIEW stem_alumni as
SELECT name, email
FROM students
WHERE graduated < 2019 AND major = 'Engineering'
UNION
SELECT name, email
FROM alumni
WHERE current_employer = 'Google'
问题是当我尝试在
中添加第三个查询时UNION
SELECT name, email
FROM professors
WHERE department = 'Engineering'
它可能会持续一个小时,但随后会恢复到原来的查询。
我已经运行 CREATE OR REPLACE VIEW... 并删除/重新创建并得到相同的结果。
如何让更新的视图定义保持不变?
添加更多上下文
我使用 DBeaver 创建了视图,这是一个使用我的特定 Redshift 凭据的本地 SQL 客户端。该视图由 Periscope 调用,Periscope 是我们使用共享凭据的基于云的 BI 工具。在 Periscope 或单独的 DBeaver 窗口中查询视图最终会将视图恢复为其原始定义。
【问题讨论】:
-
Redshift 不会自行将对象恢复到以前的定义,因为它没有任何以前定义的记录。我的猜测是一些外部过程正在覆盖您的更改,或者您可能在不同的架构(例如公共)中有多个具有相同名称的视图,并且用户/会话/工具的默认架构不同。
-
Redshift 不会这样做。其他东西正在覆盖这个视图。
标签: view amazon-redshift