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;
我使用的是 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;