Skip site navigation (1) Skip section navigation (2)

Re: ¿No es posible que una función ejecutada por un trigger devuelva un valor?.

From: "Horacio Miranda" <hmiranda(at)gmail(dot)com>
To: "Pablo Braulio" <brulics(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ¿No es posible que una función ejecutada por un trigger devuelva un valor?.
Date: 2007-12-20 19:16:15
Message-ID: f2b9e7490712201116x2a7d1685o63116c70c2053f45@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Estimado, no querrás insertar valores como una secuencia ?

TABLE usuarios (ID,nombre);
insert into nombre (nombre) values ('Horacio');
insert into nombre (nombre) values ('Miranda');

select * from usuarios;
ID NOMBRE
--  --------------
1  Horacio
2  Miranda

Esto es lo que quieres realmente hacer ?

On Dec 20, 2007 1:30 PM, Pablo Braulio <brulics(at)gmail(dot)com> wrote:

> Hola todos.
>
> Tengo una duda respecto a la diferencia entre la ejecución manual de
> una función y la que se ejecuta mediante un trigger, que quisiera
> comentar.
>
> Tengo la siguiente función:
>
> create or replace function seqestudio() returns integer as $$
> declare
>    valor integer;
> begin
>    select currval('public.estudio_id_seq') into valor;
>    return valor;
> end;
> $$ language plpgsql;
>
>
> Si ejecuto manualmente esta función (select seqestudio();), esta me
> devuelve el valor actual de la secuencia de la tabla, pero quisiera
> que esta función se ejecutara automáticamente al realizar un insert a
> dicha tabla.
>
> Para ello, llamo a esta función desde otra función que devuelve un
> trigger que se ejecuta tras un insert.
>
> create or replace function seqestudio() returns trigger as $$
> begin
>  select seqestudio();
> end;
> $$ language plpgsql;
> create trigger seqestudio after insert on estudio for each row execute
> procedure seqestudio();
>
> El caso es que tras el insert, este no devuelve ningún valor.
>
> ¿No se puede hacer esto?.
>
> Saludos y gracias por vuestra paciencia.
>
> --
> Saludos.
> Pablo.
> --
> TIP 7: no olvides aumentar la configuración del "free space map"
>



-- 
Saludos,
Horacio Miranda Aguilera.
RedHat Certified Engineer
(56 99) - 8841727

In response to

Responses

pgsql-es-ayuda by date

Next:From: Pablo BraulioDate: 2007-12-20 19:36:50
Subject: Re: ¿No es posible que una función ejecutada por un trigger devuelva un valor?.
Previous:From: Miguel Rodríguez PenabadDate: 2007-12-20 19:08:03
Subject: Re: ¿No es posible que una función ejecutada por un trigger devuelva un valor?.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group