Thread: Why must the function that a trigger calls return "opaque" ???

Why must the function that a trigger calls return "opaque" ???

From
"Greg Patnude"
Date:
This seem rather limiting...  Suppose I want a trigger that after insert,
returns the currval(sequence) of the newly inserted row automatically
without having to run another query ???

GP





Re: [SQL] Why must the function that a trigger calls return "opaque" ???

From
Josh Berkus
Date:
Greg,

> This seem rather limiting...  Suppose I want a trigger that after insert,
> returns the currval(sequence) of the newly inserted row automatically
> without having to run another query ???

Because you can't capture the return value of a trigger.  The trigger is
returning the new/altered/deleted row.

If you want a function to return a value, don't use a trigger.

--
-Josh Berkus
 Aglio Database Solutions
 San Francisco


Re: Why must the function that a trigger calls return

From
Darren Ferguson
Date:
What would the trigger return the value too. You did not call the trigger
the system called the trigger. Also triggers are not meant for use in this
way they are meant for data manipulation before or after a table is
inserted,updated or deleted.

You would have to run select currval('seq_name') as the next query.

On Thu, 29 Aug 2002, Greg Patnude wrote:

> This seem rather limiting...  Suppose I want a trigger that after insert,
> returns the currval(sequence) of the newly inserted row automatically
> without having to run another query ???
>
> GP
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

--
Darren Ferguson