"Pausas Fuentes, Jaume" wrote: >Hi > >Anybody have an implementation of the sql foreign key? > >Reading the manual it
saysthat I must use the create trigger command >but how to implement a procedure to do what foreing key does?
You need the refint package out of contrib.
Then use commands like these:
create database bray;
\connect bray
-- refint functions (from postgresql-contrib package). These are
-- needed until foreign keys are implemented in PostgreSQL
\i contrib/spi/refint.sql
create table area
( id char(2) primary key, name text not null, vat_class
char(1) default 'S'
);
create trigger area_fref before DELETE or UPDATE on area for each row execute procedure
check_foreign_key(1, 'restrict', 'id', 'customer', 'area' );
create table customer
( acs_code char(8),
... area char(2) references area (id),
...
);
create trigger customer_pkref2 before INSERT or UPDATE on customer for each row execute procedure
check_primary_key('area', 'area', 'id');
--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight http://www.lfix.co.uk/oliver PGP key from public servers; key
ID32B8FAA1 ======================================== "For the LORD is good; his mercy is everlasting;
and his truth endureth to all generations." Psalms 100:5