Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ;-)

Поиск
Список
Период
Сортировка
От Zakkr
Тема Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ;-)
Дата
Msg-id Pine.LNX.3.96.990820165112.12140A-100000@ara.zf.jcu.cz
обсуждение исходный текст
Ответ на Re: [GENERAL] Trigger documentation? Need more examples.. pleeeze.. ;-)  (Henrique Pantarotto <scanner@cepa.com.br>)
Список pgsql-general

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



В списке pgsql-general по дате отправления:

Предыдущее
От: Eric Enockson
Дата:
Сообщение: BOUNCE pgsql-sql@postgreSQL.org: Non-member submission from [Eric Enockson ]
Следующее
От: "F J Cuberos"
Дата:
Сообщение: RE: [GENERAL] Problem accesing CVS tree