Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Postgres alter view add column

I want to alter a view and add a new column in it. I have:

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

The problem is that it shows:

[Err] ERROR: syntax error at or near "AS"

Is the first time I have to do with views, I need some help :)

like image 482
arual Avatar asked Mar 14 '15 08:03

arual


1 Answers

ALTER VIEW changes various auxiliary properties of a view. 
(If you want to modify the view's defining query, use CREATE OR REPLACE VIEW.)

Use CREATE OR REPLACE INSTEAD

In your case, it will be something like:

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;

SOURCE

like image 198
Houari Avatar answered Oct 30 '22 17:10

Houari