Re: CREATE VIEW (dynamically)
От | Christoph Haller |
---|---|
Тема | Re: CREATE VIEW (dynamically) |
Дата | |
Msg-id | 3DD108DC.B259364B@rodos.fzk.de обсуждение исходный текст |
Ответ на | CREATE VIEW (dynamically) (Emmanuel Engelhart <"Emmanuel Engelhart"@postgresql.org>) |
Список | pgsql-sql |
> CREATE FUNCTION "requests_insert_after" () RETURNS opaque AS ' > DECLARE > view_name text; > BEGIN > view_name := ''request_'' || NEW.id; > CREATE VIEW view_name AS select * from groups; > return NEW; > END' LANGUAGE 'plpgsql'; > > CREATE TRIGGER "requests_insert_after" AFTER INSERT ON "requests" FOR EACH ROW > EXECUTE PROCEDURE "requests_insert_after" ();>> > > This code after an insertion on table "requests" give me this message : > << > PostgreSQL said: ERROR: parser: parse error at or near "$1" > >> > > Why ? > You should check the documentation of plpgsql for the section Executing dynamic queries (which also means commands like update, etc.) e.g. to drop a view within plpgsql you have to code EXECUTE ''DROP VIEW '' || quote_ident( view_name) ; Regards, Christoph
В списке pgsql-sql по дате отправления: