From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> |
Cc: | Lista Ayuda Pgsql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Problema con IF NOT FOUND en función plpgsql |
Date: | 2006-04-19 13:42:47 |
Message-ID: | 20060419134246.GA23169@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Sebastián Villalba escribió:
> Hola a todos. Les muestro con un ejemplito lo que necesito, creo que está todo
> bien y aún asi no funciona:
Aparentemente esta asignando NULL a la variable "valor" si no encuentra
ninguna coincidencia en la consulta. Prueba asi:
> 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;
otro_valor INTEGER;
> postgres$# BEGIN
> postgres$# SELECT INTO otro_valor id FROM foo WHERE id = $1;
> postgres$# IF NOT FOUND THEN
> postgres$# RETURN valor;
> postgres$# END IF;
> postgres$# RETURN otro_valor;
> postgres$# END;
> postgres$# $$ LANGUAGE plpgsql IMMUTABLE SECURITY DEFINER;
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | WILLIAM PARRA | 2006-04-19 14:02:07 | Re: Es posible un Link entre Oracle y Postgresql? |
Previous Message | Andres Serrano | 2006-04-19 12:48:56 | Re: Eliminar procesos lanzados por un cliente |