Re: Ayuda con base de datos de busquedas

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

In response to

Browse pgsql-es-ayuda by date

  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