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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Roberto | 2006-09-26 15:16:26 | Desuscripcion de la lista |
Previous Message | Alvaro Herrera | 2006-09-26 14:29:03 | Re: Habilitar privilegio a funciones y/o procedimientos almacenados |