Re: Ayuda con base de datos de busquedas

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
Cc: Sebastián Villalba <sebastian(at)fcm(dot)unc(dot)edu(dot)ar>, 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 22:32:17
Message-ID: 20060926223217.GD22101@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Victor Lopez escribió:
> El Martes, 26 de Septiembre de 2006 17:13, AH nos dijo ...:
>
> > 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:
>
> Dollar-quoting ??? $A$ ???

Dollar-quoting es como usar las comillas (') para delimitar una cadena
de caracteres (string), pero en vez de usar comillas, usas algo mas
elaborado, de manera que puedes tener strings dentro de otros strings.
O sea

$$ foo $$
es un string, igual que
' foo '

pero tambien
$A$ foo $A$
es el mismo string, igual que
$aca_va_lo_que_quieras$ foo $aca_va_lo_que_quieras$

Y por lo tanto puedes anidar, siempre y cuando lo que este entre los $$
sea distinto, por ejemplo asi:

$$ aca $A$ hola $A$ alla $$

es igual que esto otro:

' aca '' hola '' alla '

Y todo lo complejo que quieras:

$$ una cosa $B$ dentro $C$ y dentro $C$ $B$ de otra $$

Esto tiene un string dentro de otro string que esta dentro de otro
string. Sin usar dollar-quoting esto queda asi:

' una cosa '' dentro '''' y dentro '''' '' de otra '
(Creo ... Quizas en realidad deba ser esto otro:
' una cosa '' dentro '''''''' y dentro '''''''' '' de otra '
pero no me acuerdo, y desde que inventaron dollar-quoting, no me
importa) :-)

Esto generalmente no sirve para nada, excepto que en Postgres, los
cuerpos de las funciones son strings, y dentro de las funciones se usan
strings. Y si dentro de esos strings quieres tener otros strings,
entonces la ensalada de comillas en versiones anteriores a 8.0 era
fenomenal. Esto es normal cuando tienes que construir una consulta SQL
para ejecutar con EXECUTE en una funcion PL/pgSQL.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcelo Retamal 2006-09-26 23:25:45 DeadLock
Previous Message Victor Lopez 2006-09-26 22:09:52 Re: Ayuda con base de datos de busquedas