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
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

In response to

Responses

Browse pgsql-es-ayuda by date

  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