我正在使用PostgreSQL 9.3版本。
我需要更改视图,因为表已被更改(添加了更多列)。
嘛!我尝试过以下不适合我的脚本:
ALTER VIEW View1 AS SELECT * FROM Table1;
出现错误:
Syntax error near 'AS'
答案 0 :(得分:4)
您必须删除并重新创建视图:
DROP VIEW IF EXISTS View1;
CREATE VIEW View1 AS SELECT * FROM Table1;
如果您只添加了列,没有重命名已存在的列或更改类型,则可以先使用CREATE OR REPLACE而不使用DROP VIEW,但显式删除更安全,而不是重新创建视图。
如果更改了列的顺序,名称或类型,则仅使用CREATE OR REPLACE会抛出错误。
答案 1 :(得分:1)
我找到了这样的代码并解决了问题
CREATE OR REPLACE VIEW view_name AS
SELECT a_column FROM a_table;