diferencias con funcion definida "setof" y "no setof"

From: gherzig(at)fmed(dot)uba(dot)ar
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: diferencias con funcion definida "setof" y "no setof"
Date: 2010-06-24 19:10:55
Message-ID: 71717743aeb13147ae0033a4bdd7dc23.squirrel@www.webmail.fmed.uba.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola chicos. Me asalto una duda.
Cuando defino una funcion cualquiera, digamos
CREATE FUNCTION pp()
returns setof public.pp
as
$$
select * from public.pp where id=999999;
$$

En la tabla pp *no* existe ese id 999999....Bien.
test=# SELECT * from pp();
id| descripcion|
------------+-------------+
(0 filas)

Cuando la ejecuto, me devuelve 0 registros. Fantastico

Ahora, si defino la misma funcion, pero devolviendo simplemente
`returns public.pp', al ejecutar la funcion me trae 1 (un!) registro con
null'es
test=# SELECT * from pp();
id | descripcion
------------+-------------
| |
(1 fila)

??
Algun motivo para esta variacion de comportamiento?
PG 8.3.11

Gracias!
Gerardo

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sergio Valdes Hurtado 2010-06-24 19:21:42 Re: [pgsql-es-ayuda] Creación de id
Previous Message Alvaro Herrera 2010-06-24 19:07:10 Re: Creación de id