Skip site navigation (1) Skip section navigation (2)

Re: Ayuda con base de datos de busquedas

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>
Cc: rmero(at)marzam-online(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con base de datos de busquedas
Date: 2006-09-26 15:13:19
Message-ID: 20060926151319.GW6330@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Sebastián Villalba escribió:

> BEGIN
>   IF $1 != '' THEN
>     num_arg := num_arg + 1;
>     sql := sql || ' ((p.apellido ILIKE \'%'||$1||'%\') OR (p.nombre ILIKE
> \'%'||$1||'%\')) AND p.id = t.persona_id AND p.pais = pa.codigo AND t.area_id = a.
> id AND p.publicado = \'t\'';
>   END IF;

Hmm, quizas no estas al tanto de que puedes usar dollar-quoting dentro
de un string que lleva dollar-quoting.  Por ej. podrias escribir eso de
arriba asi:

     sql := sql || $A$ ((p.apellido ILIKE '% $A$ ||$1|| $A$ %') OR (p.nombre ILIKE
 '% $A$ ||$1|| $A$ %')) AND p.id = t.persona_id AND p.pais = pa.codigo AND
 t.area_id = a.id AND p.publicado = 't' $A$;

Esto parece mas legible porque no tienes la inconsistencia de algunos \'
y algunos ', que puede parecer confuso.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

pgsql-es-ayuda by date

Next:From: RobertoDate: 2006-09-26 15:16:26
Subject: Desuscripcion de la lista
Previous:From: Alvaro HerreraDate: 2006-09-26 14:29:03
Subject: Re: Habilitar privilegio a funciones y/o procedimientos almacenados

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group