Triggers with arguments - Mailing list pgsql-general

From Scott Holmes
Subject Triggers with arguments
Date
Msg-id 200007122228.PAA14007@scotts.mynetwork.net
Whole thread Raw
Responses Re: Triggers with arguments  (Richard Harvey Chapman <hchapman@3gfp.com>)
Re: Triggers with arguments  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Triggers with arguments  ("Robert B. Easter" <reaster@comptechnews.com>)
List pgsql-general
I'm afraid I just don't see how this is done without being able to pass
arguments to the procedure or actually running an additional SQL statement
within the trigger:

  I have a "notes" table that is potentially linked to records in many other
tables.  The primary key is created from 1) the name of the table, and 2) the
primary key value of that table.  When one of these records, with notes, is
deleted, I need to make sure that the notes records are deleted as well.

I've been playing around with this and perhaps my code that doesn't work will
illustrate what I need to accomplish and perhaps one of you kind readers will
show me just how to do it.

CREATE FUNCTION del_stxnoted () RETURNS opaque AS '
  DECLARE
    fname alias for $1;
    rkey alias for $2;
  BEGIN
    delete from stxnoted where filename = fname
       and record_key = rkey;
  END;'
LANGUAGE 'plpgsql';


create trigger del_location_trig
after delete
  on location
  for each row
    execute procedure del_stxnoted("location", 'old.wher');

Postgres will not create this trigger as it does not recognize the function
del_stxnoted as actually existing.


I am attempting to convert a large suite of applications that currently run on
an Informix database.  The syntax for this is

create trigger del_location delete on location referencing
    old as pre_del
    for each row
        (
        delete from stxnoted  where ((filename = 'location' ) AND (record_key
    = pre_del.wher ) ) );


Thanks,  Scott





pgsql-general by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: Re: How to list and remove a user in postgres ?
Next
From: Travis Bauer
Date:
Subject: sql question