Re: Problema con IF N=?ISO-8859-1?Q?OT_FOUND_en_funci=F3?=n plpgsql

From: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>
To: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>, "Lista Ayuda Pgsql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problema con IF N=?ISO-8859-1?Q?OT_FOUND_en_funci=F3?=n plpgsql
Date: 2006-04-19 02:50:50
Message-ID: 20060419024939.M71686@fcm.unc.edu.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Perdón, siempre me olvido lo mismo. Utilizo PostgreSQL 8.1.3 en Linux (Debian).

On Tue, 18 Apr 2006 23:24:21 -0300, Sebastián Villalba wrote
> Hola a todos. Les muestro con un ejemplito lo que necesito, creo que
> está todo bien y aún asi no funciona:
>
> postgres=# CREATE TABLE foo (id INTEGER, nombre VARCHAR(50));
> CREATE TABLE
> postgres=# INSERT INTO foo VALUES (1,'Algún nombre');
> INSERT 0 1
> postgres=# CREATE OR REPLACE FUNCTION prueba(integer) RETURNS
> integer AS $$ postgres$# DECLARE postgres$# valor INTEGER := 33;
> postgres$# BEGIN postgres$# SELECT INTO valor id FROM foo WHERE id
> = $1; postgres$# IF NOT FOUND THEN postgres$# RETURN valor;
> postgres$# END IF; postgres$# RETURN valor; postgres$# END;
> postgres$# $$ LANGUAGE plpgsql IMMUTABLE SECURITY DEFINER; CREATE FUNCTION
> postgres=# SELECT * FROM prueba(1);
> prueba
> --------
> 1
> (1 fila)
>
> postgres=# SELECT * FROM prueba(12);
> prueba
> --------
>
> (1 fila)
>
> Aquí debería devolverme el valor 33 o yo estoy haciendo muy mal?. Saludos...

-
-------------------------------------------
Sebastián Villalba
sebastian(at)fcm(dot)unc(dot)edu(dot)ar
-------------------------------------------

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2006-04-19 04:30:31 Re: sinonimos?
Previous Message Sebastián Villalba 2006-04-19 02:24:21 Problema con IF NO T FOUND en función plpgsql