PostgreSQL 9.3:改变视图

PostgreSQL 9.3: ALTER VIEW AS

我使用的是 PostgreSQL 9.3 版本。

我需要更改视图,因为 table 已更改(添加了更多列)。

嗯!我尝试了以下对我不起作用的脚本:

ALTER VIEW View1 AS SELECT * FROM Table1;

出现错误:

Syntax error near 'AS'

您必须删除并重新创建视图:

DROP VIEW IF EXISTS View1;
CREATE VIEW View1 AS SELECT * FROM Table1;

如果您只添加列,而不重命名现有列或更改类型,您可以先使用 CREATE OR REPLACE 而不使用 DROP VIEW,但显式删除比重新创建视图更安全。

如果列的顺序、名称或类型发生更改,仅使用 CREATE OR REPLACE 会引发错误。

我找到了这样的代码并解决了问题

CREATE OR REPLACE VIEW view_name AS
SELECT a_column FROM a_table;