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
-------------------------------------------
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 |