| 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: | Whole Thread | Raw Message | 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 |