instead of trigger in pg

From: J Crypter <jcrypter(at)yahoo(dot)de>
To: pgsql-sql(at)postgresql(dot)org
Subject: instead of trigger in pg
Date: 2005-12-28 15:28:23
Message-ID: 20051228152823.2471.qmail@web26001.mail.ukl.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

I would like to implement a 1:n relation between two
tables.
An auto-generated number should be used as primary key
which connects both tables.
Example:

table 1:
name | number (prim_key)

table 2:
country | number_table1 (foreign key)

View:
number_table1 | name | country

I would like to insert into both tables in one step.
"Insert into view (name,
country)values('name','country');"

Oracle supports an instead-of-trigger but Postgres
doesn't do this.

CREATE or replace FUNCTION insertInto() RETURNS
trigger AS '
BEGIN
insert into table1(name)values(NEW.name);
insert into
table2(number,country)values(NEW.number,NEW.country);

RETURN NEW;
END;
' LANGUAGE plpgsql;

CREATE TRIGGER insert_TR BEFORE INSERT OR UPDATE ON
view
FOR EACH ROW EXECUTE PROCEDURE insertInto();

I would like to implement something like this but I
don't know how to do.

Thank you for you help!

Jakob



___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Greg Stark 2005-12-28 15:47:33 Re: "large" IN/NOT IN subqueries result in query returning wrong data
Previous Message Don Croata 2005-12-28 14:29:19 Cursors and recursion