postgresql - 在 PostgreSQL 的 View 中更改列名

标签 postgresql view rename

我在 PostgreSQL 数据库中有一个表 x 和一个基于 x 的 View x_view。

x:

CREATE TABLE x (
A double precision
);

x_ View :

CREATE VIEW x_view AS
 SELECT x.A;

我将 x 中的一列从 A 重命名为 B。

ALTER TABLE x RENAME COLUMN A to B

当我查看 View 的定义时,我看到以下内容:

SELECT x.B AS A from x;

当我执行“SELECT * FROM x_view”时,现在应该标记为 B 的列仍然标记为 A。

为什么执行“SELECT * FROM x_view”时 View 不会自动更改列的名称?除了必须删除并重新创建 View 之外,还有什么方法可以强制它这样做吗?

最佳答案

您可以使用 ALTER TABLE x_view RENAME COLUMN A to B 重命名您的 View 列。

来源:@Peter Eisentraut 的回答 here我检查了我的数据库。

关于postgresql - 在 PostgreSQL 的 View 中更改列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33022706/

相关文章:

postgresql - 如何在 PostgreSQL 中使用带有占位符语法的 LIKE 运算符?

sql - 如何在没有已知列的情况下为 PostgreSQL View 编写通用更新触发器?

sql - 为相等性和时间戳范围查询创建索引

entity-framework - 为什么我不能在 Entity Framework 4.0 中使用包含联合的 View ?

android - 单击按钮时刷新 fragment View

sql-server-2008 - 截断 View 中的基础表

sql - PostgreSQL tsvector 配置 : how to allow special characters?

java - 如何在 Eclipse 中重命名/重构整个 libgdx/java 项目

c# - 重命名为带波浪符号的文件夹

objective-c - 在 Xcode/Cocoa 中更改应用程序名称