Re: help on delete trigger. - Mailing list pgsql-general

From Jan Wieck
Subject Re: help on delete trigger.
Date
Msg-id 200108141501.f7EF1Jx11259@jupiter.us.greatbridge.com
Whole thread Raw
In response to help on delete trigger.  ("Sundararajan" <sdn@srasys.co.in>)
List pgsql-general
Sundararajan wrote:
> I am developing a db application in postgresql and i need to write a delete
> trigger on one of the tables.
>
> the environment is
>
> table1
>
> field1 varchar(64)
> other fields.
>
> table 2.
>
> field1 varchar(64)
> other fields
>
> I need a delete trigger on the table 1, so that if I delete a row from table
> 1 , the corresponding rows from table 2 should also be deleted.
>
> This is the code I have tried.
>
> DROP FUNCTION ApplicationsDeleteFn();
> CREATE FUNCTION ApplicationsDeleteFn()
> RETURNS OPAQUE
> AS '
>  BEGIN
> delete from ports where appName=OLD.appName;
>  RETURN OLD;
>
>  END;
> '
> LANGUAGE 'plpgsql';
>
> Please help me with this, as my work is time bound.

    I  don't see anything wrong with the trigger you have (except
    that you use appName instead of field1).

    But shouldn't that be a foreign key reference with ON  DELETE
    CASCADE  and ON UPDATE CASCADE in the first place? This would
    automatically delete the referencing rows, so no need  for  a
    custom  trigger. In addition, it'll ensure that you can't get
    entries into ports for non-existent applications at all.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


pgsql-general by date:

Previous
From: Lee Kindness
Date:
Subject: Re: Is the bug system active?
Next
From: Tom Lane
Date:
Subject: Re: Is the bug system active?