我已经创建了一个视图,它是SELECT A,B from TABLE_a;然后我将TABLE_a中的列a重命名为c. 有趣的是,列重命名后的SELECT*FROM VIEW仍然有效,但是列a不再存在于table_a中. 为什么这个观点没有被宣布无效?查询SELECT a,b from TABLE_X返回NOW ERROR,这是合理的:"ERROR:列a不存在"
CREATE TABLE table_a(a int, b int);
CREATE VIEW test_view
AS
SELECT a, b
FROM table_a;
SELECT *
FROM test_view;
ALTER TABLE table_a
RENAME COLUMN a TO c;
-- it works
SELECT *
FROM test_view;
-- it doesn't work
SELECT a, b
FROM table_a;