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