From: | Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx> |
---|---|
To: | "Pepe Ballaga" <pepe(at)transnet(dot)cu> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: duda con create function |
Date: | 2005-06-16 15:20:21 |
Message-ID: | m3ekb2qqfe.fsf@conexa.fciencias.unam.mx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
"Pepe Ballaga" <pepe(at)transnet(dot)cu> writes:
> Hola amigos: tengo un problema al crear una funcion
>
> CREATE FUNCTION insertar(integer,integer,char) RETURNS integer AS $$
> select $1,$2 from tabla where valor=$3
> 'aqui ahora necesito saber si esa fila existe o no para en funcion de esto
> hacer un insert into o un update
Necesitas reescribir tu función en otro lenguage, plpgsql por ejemplo,
con SQL no vas a poder lograr lo que quieres. Algo como:
CREATE FUNCTION insertar(integer,integer,char) RETURNS integer AS $$
begin;
perform $1,$2 from tabla where valor=$3
if not found then
insert into tabla values($3,$1,$2)
else
update tabla set campo1=$3, campo2=$1, campo3=$2
end if;
end;
$$ language plpgsql;
Saludos,
Manuel.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-06-16 15:21:54 | Re: Ayuda con logs |
Previous Message | Alexys Lozada | 2005-06-16 15:04:33 | Re: Reemplazar valor de un campo. |