Reporting errors when a rule fails. - Mailing list pgsql-sql

From Saltsgaver, Scott
Subject Reporting errors when a rule fails.
Date
Msg-id 7283DE19D141D111AD0E00A0C95B1955024886F9@mail2.aiinet.com
Whole thread Raw
List pgsql-sql
I am currently design a database to be implemented on PostGreSQL 6.5.1.  I
have two tables with the following schema:

create table1 ( myId : serial, status int4 );

create table2 ( myId : serial, parentId : int4, status );

I created a function that checks to make sure that a parent exists in
table1.  Not sure if this is the best way, suggestions welcome.

create function parent_exists(int4) returns boolean as 'select
int4eq(count(*), 1) from table1 where table1.myId = $1' language 'sql'

I then created a rule to stop insertions into table2 if a parent does not
exists in table1.

create rule validate_parent_exists as on insert to table2 where
parent_exists(new.parentId) = false do instead nothing

Is there a way to return an error to the caller of an insert into table2
that a parent does not exists?

As mentioned, if there is a better way to implement this functionality,
please provide solutions.  I am fairly new at SQL and PostGreSQL.

Thanks,
Scott Saltsgaver
Applied Innovation Inc.
scottsa@aiinet.com


pgsql-sql by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [SQL] table aliasing problem with 6.5...
Next
From: Bruce Momjian
Date:
Subject: Re: [SQL] Subselect performance