Re: [GENERAL] Read values from Trigger out

From: Karel Zak - Zakkr <zakkr(at)zf(dot)jcu(dot)cz>
To: Thomas Egge <teg(at)ratio(dot)de>
Cc: pgsql-general(at)postgreSQL(dot)org
Subject: Re: [GENERAL] Read values from Trigger out
Date: 2000-02-10 09:33:59
Message-ID: Pine.LNX.3.96.1000210102741.21359A-100000@ara.zf.jcu.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, 9 Feb 2000, Thomas Egge wrote:

> I have created a trigger function.
>
> could somebody tell me how I get the values from the insert in the trigger
> function.
> I tried the function
>
> SPI_getvalue(trigger,tupdesc,attnum)
>

Example:

TupleDesc tupdesc;
HeapTuple rettuple = NULL;
char *value;

if (!CurrentTriggerData)
elog(ERROR, "triggers are not initialized");

if (TRIGGER_FIRED_BY_UPDATE(CurrentTriggerData->tg_event))
rettuple = CurrentTriggerData->tg_newtuple;
else if (TRIGGER_FIRED_BY_INSERT(CurrentTriggerData->tg_event))
rettuple = CurrentTriggerData->tg_trigtuple;
else if (TRIGGER_FIRED_BY_DELETE(CurrentTriggerData->tg_event))
rettuple = CurrentTriggerData->tg_trigtuple;

tupdesc = CurrentTriggerData->tg_relation->rd_att;

if (SPI_connect() < 0)
elog(ERROR, "SPI_connect()");

value = SPI_getvalue(rettuple, tupdesc, SPI_fnumber(tupdesc, "column_name"));

...see the PostgreSQL programmer's guide for more...

Karel

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jaume Pausas 2000-02-10 11:03:43 how to insert data in a row with serial type
Previous Message Arnaud FLORENT 2000-02-10 09:31:18 view columm size.....