Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ;-)
От | Henrique Pantarotto |
---|---|
Тема | Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ;-) |
Дата | |
Msg-id | 9908202057250N.00439@scanner.cepa.com.br обсуждение исходный текст |
Ответ на | Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ;-) (Zakkr <zakkr@zf.jcu.cz>) |
Список | pgsql-general |
Zakkr, I love you. It worked!! Your help should keep me busy this weekend.. ;-) Thanks a lot.. I shall bug you again for sure.. j/k.. ;-) Henrique Pantarotto Sao Paulo, SP - Brazil On sex, 20 ago 1999, Zakkr wrote: > On Fri, 20 Aug 1999, Henrique Pantarotto wrote: > > > I would like to know how, from a trigger C function, can I get the "old" and > > "new" value for an updated field. Is this possible? How do I do that? > > > > For example, if I do: > > > > update users set username = "clinton" where id = "2400" > > example: > ------- > TupleDesc tupdesc; > HeapTuple tnew, > told; > char *oldvalue, > *newvalue; > > if (TRIGGER_FIRED_BY_UPDATE(CurrentTriggerData->tg_event)) { > tnew = CurrentTriggerData->tg_newtuple; > told = CurrentTriggerData->tg_trigtuple; > } > tupdesc = CurrentTriggerData->tg_relation->rd_att; > > newvalue = SPI_getvalue(tnew, tupdesc, SPI_fnumber(tupdesc, "username")); > oldvalue = SPI_getvalue(told, tupdesc, SPI_fnumber(tupdesc, "username")); > ------ > > NOTE: If you run trigger AFTER|BEFORE insert in CurrentTriggerData > is set 'tg_trigtuple' only. > > > Did you understand? ;-) > > And you? :-) > Zakkr -- Henrique Pantarotto CEPAnet Internet Provider webmaster / analista de sistemas Email: scanner@cepa.com.br Tel: (011) 5506-8477 Cel: (011) 9706-3444 LINUX FRIEND
В списке pgsql-general по дате отправления: