Re: [GENERAL] need hint for a trigger...
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...
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])