Triggers for inserting on VIEWS

From: Marc SCHAEFER <schaefer(at)alphanet(dot)ch>
To: pgsql-sql(at)postgresql(dot)org
Subject: Triggers for inserting on VIEWS
Date: 2002-08-03 18:04:25
Message-ID: Pine.LNX.3.96.1020803193426.6029A-100000@defian.alphanet.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

at least with PostgreSQL 7.1 it was possible to create a trigger on a
view. 7.2 seems to fail with:

psql:t:25: ERROR: CreateTrigger: relation "egg_view" is not a table

is there any replacement so that inserting somewhere acts on multiple
tables ?

Thank you.

Code reference: (stupid, real code is more complex and uses multiple
tables)

DROP TRIGGER t_egg ON egg_view;
DROP FUNCTION f_egg_insert ();
DROP VIEW egg_view;
DROP TABLE egg;
DROP SEQUENCE egg_id_seq;

CREATE TABLE egg(id SERIAL,
description TEXT,
UNIQUE(id), PRIMARY KEY(id));

CREATE VIEW egg_view
AS SELECT description FROM egg;

CREATE FUNCTION f_egg_insert ()
RETURNS opaque
AS 'BEGIN
INSERT INTO egg (description) VALUES(NEW.description);
END;'
LANGUAGE 'plpgsql';

CREATE TRIGGER t_egg
BEFORE INSERT
ON egg_view
FOR EACH ROW
EXECUTE PROCEDURE f_egg_insert();

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Joshua D. Drake 2002-08-03 18:32:20 Re: RES: The best book
Previous Message Josh Berkus 2002-08-03 16:40:50 Re: [SQL] Aggregates and Indexes