From: | Jaime Casanova <systemguards(at)yahoo(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con triggers |
Date: | 2004-11-18 07:39:44 |
Message-ID: | 20041118073944.62709.qmail@web50009.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- Joan Manuel Ventura <joan_mvf(at)yahoo(dot)com>
escribió:
> Hola a todos, soy nuevo en la utilizacion de
> triggers
> y ahora me encuentro obligado a utilizarlos, les
> explico k quiero hacer.
>
> Ej: tengo esta tabla
> create table banca(
> id_banca int2 UNIQUE NOT NULL
> default(nextval('id_banca_seq')),
> dewcripcion varchar(30) Not Null,
> demas campos
> .......
> )
>
> quiero que se ejecute un trigger despues de cada
> Insert
>
> ej: este trigger
>
> CREATE FUNCTION fbanca(int) Returns trigger As
> 'CREATE
> SEQUENCE id_banca_$1;' LANGUAGE SQL;
>
> CREATE TRIGGER tbanca() AFTER INSERT ON banca FOR
> EACH
> ROW EXECUTE PROCEDURE fbanca(valor);
>
> donde dice valor quiero enviar el ID de la banca
> creada a la funsion y que la funcion cree la
> secuencia
> id_banca_valor.
prueba currval para obtener el id de la banca
asignado.
http://www.postgresql.org/docs/7.4/static/functions-sequence.html
>
> Ahi tengo un par de problemas no se como mandarle el
> ID de la banca creada y como crear la funsion,
> porque
> estaba tratando de hacer la funcion y me dice que el
> Language Sql no devuelve trigger.
Como ya te indicaron necesitas recrear la funcion en
plpgsql, no le vas a poder pasar el valor como
parametros porque las funciones de trigger en plpgsql
solo aceptan argumentos que sean cadenas de caracteres
constantes (es decir, siempre la misma cadena para el
mismo trigger).
En todo caso en el trigger puedes hacer uso de la
funcion currval para saber cual es el ultimo valor
asignado.
>
> bueno eso es todo, espero que me den una ayudita.
>
Eso tratamos
Atentamente,
Jaime Casanova
_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Fernando Aguada | 2004-11-18 11:18:33 | Re: Ya no se que hacer!!!! |
Previous Message | Jaime Casanova | 2004-11-18 07:28:24 | Re: Ya no se que hacer!!!! |