Re: Función que reciba un set o el resultado de una consulta.

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Mario Jiménez Carrasco <mario(dot)carrasco(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Función que reciba un set o el resultado de una consulta.
Date: 2012-02-29 03:46:12
Message-ID: 1330486948-sup-4946@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Excerpts from Mario Jiménez Carrasco's message of mié feb 29 00:34:19 -0300 2012:
> En realidad la función debe procesar en una sola invocación todos los
> registros de la tabla temporal....
>
> Pero intentaré como comentas...

Bueno, si tiene que procesarlos todos juntos entonces no tiene sentido
intentar procesar cada registro en una invocación.

> Solo para salir de la intriga... si existe forma de enviar la tabla
> temporal como parámetro?... es posible? Se puede recorrer cada registro de
> la temporal dentro de la función?

No puedes "enviar" el contenido de la tabla. Puedes pasarle el nombre
de la tabla, y hacer que la función la recorra. Eso es trivial:

FOR r IN SELECT * FROM la-tabla LOOP
-- procesar el registro r aquí
END LOOP;

Si el nombre de la tabla es siempre el mismo, no necesitas nada más que
lo de arriba; si el nombre varía con cada invocación (¿por qué?
considera que las tablas temporales son locales a cada sesión) puedes
usar un EXECUTE.

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Jiménez Carrasco 2012-02-29 04:03:18 Re: [pgsql-es-ayuda] Función que reciba un set o el resultado de una consulta.
Previous Message Mario Jiménez Carrasco 2012-02-29 03:34:19 Re: [pgsql-es-ayuda] Función que reciba un set o el resultado de una consulta.