sql - 没有 "WITH NO SCHEMA BINDING"的 View 返回关系 "does not exist"错误

标签 sql view amazon-redshift

我创建了几个基本 View 没有架构绑定(bind)。在其中一个 View 之上,我想创建一个主视图,但这迫使我在没有 WITH NO SCHEMA BINDING 子句的情况下创建它——我假设是由于对基本 View 的依赖。

创建主视图后,如果我通过 select * from master_view 查询它,一切正常。 但是,几个小时后查询它 - 我收到一个关系“不存在”错误.. 另一方面,从任何非主视图中选择 *(创建的 WITH NO SCHEMA BINDING 永远不会失败..

知道为什么会发生这种情况,以及如何确保主视图在创建一次后永久存在?

最佳答案

根据https://forums.aws.amazon.com/thread.jspa?threadID=263944它看起来像以下错误:'无效操作:在创建 VIEW WITH NO SCHEMA 时应限定里面的所有关系名称' 是由于某些正在连接的表未指定该表的架构引起的属于。 例如:JOIN table 应该是 JOIN schema.table

指定架构允许我在创建主视图时使用没有架构绑定(bind)并解决了我的问题

关于sql - 没有 "WITH NO SCHEMA BINDING"的 View 返回关系 "does not exist"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54443760/

相关文章:

php - 将 2 个查询中的 2 个条件数组合并到 1 个查询中

PHP:迭代 SQL Return 的最佳方法

view - 插入到 sqlite View 中是如何工作的?

amazon-web-services - 在何处运行 Amazon Redshift 的复制命令

postgresql - Amazon Redshift - SQL - 在多个 ROW_NUMBER() ORDER BY 子句中调用时 RANDOM() 的行为

python - 在 Redshift 中使用 Python 聚合 UDF

mysql - 将字符串转换为时间sql或雪花

java - 如何在Activity中添加 float View

android - Android 选项卡中的典型搜索、结果和详细信息工作流

mysql - 如何确保 sql 更新中的某个字段大于其他字段