Postgresql Postgres更改视图添加列
我想更改一个视图并在其中添加一个新列。我有:Postgresql Postgres更改视图添加列,postgresql,view,Postgresql,View,我想更改一个视图并在其中添加一个新列。我有: ALTER VIEW folders_contents AS SELECT files.id, files.name, files.filesize, files.updated, files.deleted, FROM files UNION ALL SELECT folders.id, folders.name, 0 AS filesize, folders.updated,
ALTER VIEW folders_contents
AS
SELECT files.id,
files.name,
files.filesize,
files.updated,
files.deleted,
FROM files
UNION ALL
SELECT folders.id,
folders.name,
0 AS filesize,
folders.updated,
folders.deleted,
FROM folders
ORDER BY 8, 2
GO
问题在于它表明:
[Err]错误:“AS”处或附近出现语法错误
这是我第一次处理视图,我需要一些帮助:)
改用创建或替换
在您的情况下,它将类似于:
CREATE OR REPLACE VIEW folders_contents
AS
SELECT files.id,
files.name,
files.filesize,
files.updated,
files.deleted,
FROM files
UNION ALL
SELECT folders.id,
folders.name,
0 AS filesize,
folders.updated,
folders.deleted,
FROM folders
ORDER BY 8, 2;
Postgres中没有GO
。而且,alterview
与您认为的不同,问题在于:[Err]错误:无法从视图中删除“folders\u contents”详细信息:包含UNION、INTERSECT或EXCEPT的视图不可自动更新。
CREATE OR REPLACE VIEW folders_contents
AS
SELECT files.id,
files.name,
files.filesize,
files.updated,
files.deleted,
FROM files
UNION ALL
SELECT folders.id,
folders.name,
0 AS filesize,
folders.updated,
folders.deleted,
FROM folders
ORDER BY 8, 2;