如何确定 postgres 视图是不是可更新

Posted

技术标签:

【中文标题】如何确定 postgres 视图是不是可更新【英文标题】:How to determine if a postgres view is updatable如何确定 postgres 视图是否可更新 【发布时间】:2019-12-25 08:11:48 【问题描述】:

根据文档Postgres > CREATE VIEW > Updatable Views ,如果满足以下条件,postgres 视图是可更新的:

视图的 FROM 列表中必须有一个条目,该条目必须是表或另一个可更新视图。

视图定义不得在顶层包含 WITH、DISTINCT、GROUP BY、HAVING、LIMIT 或 OFFSET 子句。

视图定义不得在顶层包含集合操作(​​UNION、INTERSECT 或 EXCEPT)。

视图的选择列表不得包含任何聚合、窗口函数或集合返回函数。

如果视图 some_random_view 是否可更新,我如何以编程方式确定?

【问题讨论】:

【参考方案1】:

information_schema.views 数据字典视图包含列 is_updatable。此列的内容告诉您视图是否可更新。

【讨论】:

以上是关于如何确定 postgres 视图是不是可更新的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 EF Code-First 插入/更新可更新视图

依赖于多个表的可更新视图

如何使用 Apple 的 TableView 更新可折叠表格视图与 Core Data 和 NSFetchedResultsController?

数据库之视图更新

Postgres - 冲突 - 如何知道是不是发生了更新而不是插入 [重复]

为啥没有为 Postgres 视图启用行级安全性?