Re: Usar parametro de FUNCTION como condicion en WHERE

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Pedro PG <pedroPG(at)outlook(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Usar parametro de FUNCTION como condicion en WHERE
Date: 2016-05-24 18:23:57
Message-ID: CAN3Qy4p0P2HTs+Xomu7_vAK5dv6VSiUVULsrLcZLAq4BwEgUzg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas tardes Pedro

CREATE OR REPLACE FUNCTION fn_busca_almacen_por_criterio(in_criterio
character varying DEFAULT ''::character varying, in_valor character varying
DEFAULT ''::character varying)
RETURNS SETOF vw__almacen AS
$BODY$
DECLARE in_criterio alias FOR $1;
in_valor alias FOR $2;

DECLARE lr_ret RECORD;
t_consulta TEXT:=$$SELECT * FROM vw__almacen WHERE $$ || in_criterio
|| $$ LIKE '%$$ || in_valor || $$%'$$;

BEGIN
FOR lr_ret IN EXECUTE t_consulta LOOP
RETURN NEXT lr_ret;
END LOOP;
END;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;

2016-05-24 12:45 GMT-05:00 Pedro PG <pedroPG(at)outlook(dot)com>:

> Hola lista, requiero de su ayuda, pues verán, en la siguiente función
> necesito que el primer parametro IN in_criterio represente a la columna en
> donde se buscara y el segundo parametro IN in_valor represente el valor a
> buscar, ¿como es que puedo hacerlo?. He intentado lo siguiente pero no
> funciona, ¿alguna sugerencia?
>
>
> CREATE OR REPLACE FUNCTION fn_busca_almacen_por_criterio(in_criterio
> character varying DEFAULT ''::character varying, in_valor character varying
> DEFAULT ''::character varying)
> RETURNS SETOF vw__almacen AS
> $BODY$
> DECLARE in_criterio alias FOR $1;
> in_valor alias FOR $2;
>
> DECLARE lr_ret RECORD;
> BEGIN
> FOR lr_ret IN
> SELECT *
> FROM vw__almacen
> WHERE in_criterio LIKE CONCAT('%',in_valor,'%')
> LOOP
> RETURN NEXT lr_ret;
> END LOOP;
> END;$BODY$
> LANGUAGE plpgsql VOLATILE
> COST 100
> ROWS 1000;
>
> Gracias desde ya.
>
> Saludos.
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Tornero - Listas 2016-05-27 11:48:42 Copiar funciones entre bases de datos
Previous Message Pedro PG 2016-05-24 17:45:38 Usar parametro de FUNCTION como condicion en WHERE