agora inbox for pgsql-sql@postgresql.org  
help / color / mirror / Atom feed
From: Chris Ryan <chris@greatbridge.com>
To: craig.may@s2.enthdimension.com.au
Cc: pgsql-sql@postgresql.org
Subject: Re: Trigger
Date: Wed, 06 Sep 2000 08:18:18 -0400
Message-ID: <39B6360A.8FEE705@greatbridge.com> (raw)
References: <20000906202707.A4767@s2.enthdimension.com.au>

Craig May wrote:
> 
> Could someone send me a quick example of a trigger.

Hope this helps.

Chris Ryan

<<< Clip below and execute to create example >>>
--
-- FUNCTION: trigger_last_updated
--
-- DESCRIPTION:
-- This is a function called by the table triggers to update the
last_updated
-- field on insert and updates.
--
create function trigger_last_updated()
    returns opaque
    as 'begin
            new.last_updated := now();
            return new;
        end;'
    language 'plpgsql';

--
-- TABLE: test_tbl
--
-- DESCRIPTION:
-- A simple table to test my trigger
--
create table test_tbl (
    some_field varchar(10),
    last_updated timestamp not null default now()
);

--
-- TRIGGER: trigger_insert_update_test_tbl
--
-- DESCRIPTION:
-- This is the trigger called on insert and updates of all the table
that
-- has the last_updated field. It will use the function
trigger_last_updated
-- The cool thing here is the function doesn't make specific reference
to the
-- table so you could create a different trigger for each table with the
field
-- last_updated and use the same function.
--
create trigger trigger_insert_update_test_tbl
    before insert or update on test_tbl
    for each row execute procedure trigger_last_updated();



view thread (14+ messages)  latest in thread

Message-ID: <39B6360A.8FEE705@greatbridge.com>
Permalink:  ../39B6360A.8FEE705@greatbridge.com/
Also on:    postgresql.org/message-id/39B6360A.8FEE705@greatbridge.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: chris@greatbridge.com, craig.may@s2.enthdimension.com.au
  Subject: Re: Trigger
  In-Reply-To: <39B6360A.8FEE705@greatbridge.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

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