From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | juan osorio <juan_osorio_ruiz(at)hotmail(dot)com> |
Cc: | juanky(dot)moral(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: funciones plpgsql otra vez |
Date: | 2005-04-06 19:24:43 |
Message-ID: | 20050406192443.GE9930@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola, entiendo poco la cochinada de abajo, pero creo que el problema es
que tienes que dar los valores para LIMIT y OFFSET fuera del string, de
manera que $1 y $2 sean expandidos por plpgsql antes de ejecutar la
consulta. O sea,
FOR tupla IN EXECUTE ''SELECT * FROM producto WHERE
vprod_st<>''||$4||'' ORDER BY ''||$3||'' LIMIT '' || $1 ||
'' offset '' || $2
POR FAVOR no escribas en HTML. Muchas gracias.
On Wed, Apr 06, 2005 at 07:49:25AM +0000, juan osorio wrote:
> <html><div style='background-color:'><P>Holas, Si, nuevamente yo :(<BR><BR>La verdad es que esto de las comillas simples me están volviendo loco, ahora estoy intentando con otra función que es esta:</P>
> <P>CREATE OR REPLACE FUNCTION obtiene_productos(integer,integer,text,text) RETURNS SETOF RECORD AS '<BR> DECLARE<BR> tupla RECORD;</P>
> <P> BEGIN<BR> FOR tupla IN EXECUTE ''SELECT * FROM producto WHERE vprod_st<>''||$4||'' ORDER BY ''||$3||'' LIMIT $1 offset $2'' LOOP<BR> return next tupla;<BR> END LOOP;<BR> return tupla;</P>
> <P> END;<BR>' language 'plpgsql';</P>
> <P>Al ejecutar la función de esta manera: obtiene_productos(20,40,'prod_nom','0') (suponiendo que el campo vprod_st es char(1) ) me sale este error:</P>
> <P>ERROR: ExecEvalParam: Unknown value for parameter (null) </P>
> <P>me parece que son las comillas el problema, estoy en lo cierto??? Muy agradecidos por la paciencia. Saludos <BR></P>
> <P>:(</P></div></html>
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
Si no sabes adonde vas, es muy probable que acabes en otra parte.
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2005-04-06 20:03:43 | Pgdump sin GRANT |
Previous Message | Alvaro Herrera | 2005-04-06 19:17:06 | Re: Novato en Postgresql |