Re: duda con create function

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.

In response to

Browse pgsql-es-ayuda by date

  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.