pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
Help on triggers
2+ messages / 2 participants
[nested] [flat]

* Help on triggers
@ 2004-08-02 05:27  Pradeepkumar, Pyatalo (IE10) <Pradeepkumar.Pyatalo@honeywell.com>
  0 siblings, 1 reply; 2+ messages in thread

From: Pradeepkumar, Pyatalo (IE10) @ 2004-08-02 05:27 UTC (permalink / raw)
  To: pgsql-novice@postgresql.org


Hi all,

I have 2 tables - table1 and table2. Both the tables are related to each
other. I have written triggers so that if a tuple is inserted into table1,
corresponding values will be inserted into table2. and if a tuple is deleted
from table1 then corresponding tuples are deleted from table2 also. The
delete trigger works fine sometimes and other times it gives the following
error.....

delete from table1 where pointid=30;
ERROR: update or delete on "table1" violates foreign key constraint "$2" on
"table2"
DETAIL: key (pointid) =30 is still referenced from table "pointattributes".

I am doing an application in C. I have written a C-function using libpq API
to delete a tuple from table1. that is I pass a parameter to the function
and it has to delete the tuple whose primarykey value= parameter and also
delete correspoding tuples from table2(due to the trigger). so i have formed
a simple delete command on table2in the C-function. When i compile the
application it gives the same error:

is there anyone who can explain why this is happening. I had posted this
query 2 days back...dint get any reply. Please help me out with this.



> With Best Regards 
> Pradeep Kumar P J 
> 



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: Help on triggers
@ 2004-08-02 08:19  Scott Marlowe <smarlowe@qwest.net>
  parent: Pradeepkumar, Pyatalo (IE10) <Pradeepkumar.Pyatalo@honeywell.com>
  0 siblings, 0 replies; 2+ messages in thread

From: Scott Marlowe @ 2004-08-02 08:19 UTC (permalink / raw)
  To: Pradeepkumar, Pyatalo (IE10) <Pradeepkumar.Pyatalo@honeywell.com>; +Cc: pgsql-novice@postgresql.org

On Sun, 2004-08-01 at 23:27, Pradeepkumar, Pyatalo (IE10) wrote:
> Hi all,
> 
> I have 2 tables - table1 and table2. Both the tables are related to each
> other. I have written triggers so that if a tuple is inserted into table1,
> corresponding values will be inserted into table2. and if a tuple is deleted
> from table1 then corresponding tuples are deleted from table2 also. The
> delete trigger works fine sometimes and other times it gives the following
> error.....
> 
> delete from table1 where pointid=30;
> ERROR: update or delete on "table1" violates foreign key constraint "$2" on
> "table2"
> DETAIL: key (pointid) =30 is still referenced from table "pointattributes".
> 
> I am doing an application in C. I have written a C-function using libpq API
> to delete a tuple from table1. that is I pass a parameter to the function
> and it has to delete the tuple whose primarykey value= parameter and also
> delete correspoding tuples from table2(due to the trigger). so i have formed
> a simple delete command on table2in the C-function. When i compile the
> application it gives the same error:
> 
> is there anyone who can explain why this is happening. I had posted this
> query 2 days back...dint get any reply. Please help me out with this.

Using foreign keys, you should be able to just set the relation to
cascade and have the dependent rows deleted automagically.




^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2004-08-02 08:19 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2004-08-02 05:27 Help on triggers Pradeepkumar, Pyatalo (IE10) <Pradeepkumar.Pyatalo@honeywell.com>
2004-08-02 08:19 ` Scott Marlowe <smarlowe@qwest.net>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox