pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Josep Sanmartí <josep.sanmarti@openwired.net>
To: William Leite Araújo <william.bh@gmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: Trigger on a column
Date: Mon, 06 Feb 2006 11:48:06 +0100
Message-ID: <43E72966.4090100@openwired.net> (raw)
In-Reply-To: <bc63ad820602060224m6e1a75fel@mail.gmail.com>
References: <43E71A6C.6070104@openwired.net>
	<bc63ad820602060224m6e1a75fel@mail.gmail.com>

Hi,

readding around I just found this:
The CREATE TRIGGER statement in PostgreSQL implements a subset of the 
SQL99 standard. (There are no provisions for triggers in SQL92.) The 
following functionality IS MISSING:
* SQL99 allows triggers to fire on updates to specific columns (e.g., 
AFTER UPDATE OF col1, col2).
* .....

Does anybody know if that's true on version postgresql (PostgreSQL) 
8.1.2? Because I don't actually know from what version that sentence is.

Thanks in advance


William Leite Araújo wrote:

> http://www.postgresql.org/docs/8.1/interactive/sql-createtrigger.html  :
>
> CREATE TRIGGER -- define a new trigger
>
>
>     Synopsis
>
>CREATE TRIGGER /name/ { BEFORE | AFTER } { /event/ [ OR ... ] }
>
>    ON /table/ [ FOR [ EACH ] { ROW | STATEMENT } ]
>    EXECUTE PROCEDURE /funcname/ ( /arguments/ )
>
>
>   There is not a way to create column level trigger. If the trigger 
> don't block the insert/update/delete, you can try an "after trigger" 
> that do all insertions once.
>
> 2006/2/6, Josep Sanmartí <josep.sanmarti@openwired.net 
> <mailto:josep.sanmarti@openwired.net>>:
>
>     Hi,
>
>     My trigger's running on a table that works perfectly. This trigger
>     calls
>     a function that inserts or modifies a row of a different table. My
>     problem is that I need to optimize this trigger, and the only way
>     that
>     I've found is to fire the trigger  when certain table fields are
>     modified.  I do it like this:
>
>     CREATE TRIGGER tr_barra_aps AFTER INSERT OR DELETE OR UPDATE OF status
>         ON am_access_point EXECUTE PROCEDURE f_barra_aps();
>
>     but I get this error:
>     ERROR:  syntax error at or near "status" at character 62
>
>     The status field is correct. Can anybody help me?
>
>     Thanks
>
>     --
>     Josep Sanmarti
>     Analista de Projectes
>
>     OpenWired
>     Caballero 87 - Bajos
>     08029 - Barcelona
>     Tel. 93 495 0990
>     Fax. 93 419 4591
>
>     Openwired
>     Alejandro Villegas,29
>     28043 - MADRID - ESPAÑA
>     Teléfono: 91 300 51 09
>     Fax:  91 300 28 13
>     http://www.openwired.com
>
>
>     ---------------------------(end of
>     broadcast)---------------------------
>     TIP 5: don't forget to increase your free space map settings
>
>
>
>
> -- 
> William Leite Araújo 



-- 
Josep Sanmarti
Analista de Projectes

OpenWired
Caballero 87 - Bajos
08029 - Barcelona
Tel. 93 495 0990
Fax. 93 419 4591

Openwired
Alejandro Villegas,29
28043 - MADRID - ESPAÑA
Teléfono: 91 300 51 09
Fax:  91 300 28 13
http://www.openwired.com




view thread (3+ messages)  latest in thread

Message-ID: <43E72966.4090100@openwired.net>
Permalink:  ../43E72966.4090100@openwired.net/
Also on:    postgresql.org/message-id/43E72966.4090100@openwired.net

 · 

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: josep.sanmarti@openwired.net, william.bh@gmail.com
  Subject: Re: Trigger on a column
  In-Reply-To: <43E72966.4090100@openwired.net>

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

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