我在PostgreSQL数据库中有一个表x,以及一个基于x的视图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
当我查看视图的定义时,我会看到以下内容:
SELECT x.B AS A from x;
当我执行“SELECT * FROM x_view”时,现在标记为B的列仍标记为A.
为什么在执行“SELECT * FROM x_view”时视图不会自动更改列的名称?有没有办法强制它这样做,除了必须删除并重新创建视图?
答案 0 :(得分:1)
您可以使用ALTER TABLE x_view RENAME COLUMN A to B
重命名视图列。
来源:@Peter Eisentraut的回答here我检查了我的数据库。