From: | Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
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-27 10:29:49 |
Message-ID: | 20060927102707.M35853@fcm.unc.edu.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Tue, 26 Sep 2006 11:13:19 -0400, Alvaro Herrera wrote
> 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.
Realmente agradecido. Es cierto que sabía que se podía utilizar dollar-quoting
pero pensé (en realidad jamás se me ocurrió y eso que es algo muy obvio) que
era únicamente para delimitar el inicio y el fin de la función.
Desde luego que la gente de Postgres tiene una mentalidad mucho mas amplia que
la mía. Muchas gracias y voy a cambiar eso en mi aplicacioncita. Saludos...
-
-------------------------------------------
Sebastián Villalba
sebastian(at)fcm(dot)unc(dot)edu(dot)ar
-------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Ernesto Quiñones | 2006-09-27 11:39:04 | Re: Comparador de Bases de Datos y/o Esquemas |
Previous Message | Daniel Castro | 2006-09-27 09:36:58 | Instalación |