Re: [GENERAL] need hint for a trigger...

2001-03-16 Thread Richard Huxton

From: <[EMAIL PROTECTED]>

> Hi all. I have to write a trigger and I have never did it before, so if
> there is someone who could give me a start, I will be very grateful...
>
> I have two tables that I want to keep "partially" synced, i.e.:
[snip]
> I would like that when a record gets changed in table1, the same
> changes reflect on the correspondent record in table2. Eventual
> changes made on the first 3 fields of table2 should be overwritten,
> leaving the other fields untouched.
>
> I was presuming this could be done with a trigger on UPDATE on
> table1, but I don't know how to write it... I know the first reply that I
> can expect is RTFM, but if a gentle soul has the time to write an
> example...

You presume right. A rule might prove more efficient (can't tell from your
example), but a trigger will work just fine.

Check the developer's docs at
http://www.postgresql.org/devel-corner/docs/programmer/

Also try http://techdocs.postgresql.org and look in PostgeSQL Notes for the
Automating Processes chapter - there are examples there (logging changes is
very similar to what you want).

Also see http://www.brasileiro.net/postgres for the brand new plpgsql
cookbook which has several examples already and should be growing all the
time.

Try adapting one of the examples you find, and if you have problems post the
code and table definitions back to the list.

One tip I can give is to build the function and trigger in a text-editor
then execute it with psql -f  - makes debugging much easier.

If you have any comments on any of the documentation, please let the
relevant author know, most of this stuff is brand new.

- Richard Huxton


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])



[GENERAL] need hint for a trigger...

2001-03-16 Thread fabrizio . ermini

Hi all. I have to write a trigger and I have never did it before, so if 
there is someone who could give me a start, I will be very grateful...

I have two tables that I want to keep "partially" synced, i.e.:

table1 (field1,field2,field3) 
table2 (field1,field2,field3, ... some other fields).

I've created them using the same data for the common fields, and 
then populated the other fields of table2. field1 is unique key for 
both tables.

I would like that when a record gets changed in table1, the same 
changes reflect on the correspondent record in table2. Eventual 
changes made on the first 3 fields of table2 should be overwritten, 
leaving the other fields untouched.

I was presuming this could be done with a trigger on UPDATE on 
table1, but I don't know how to write it... I know the first reply that I 
can expect is RTFM, but if a gentle soul has the time to write an 
example...

TIA,
Ciao


/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Fabrizio Ermini   Alternate E-mail:
C.so Umberto, 7   [EMAIL PROTECTED]
loc. Meleto Valdarno  Mail on GSM: (keep it short!)
52020 Cavriglia (AR)  [EMAIL PROTECTED]

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])