From: | Gunnar Wolf <gwolf(at)gwolf(dot)org> |
---|---|
To: | eduardo arenas <pgmanlist(at)gmail(dot)com> |
Cc: | Espartano <espartano(dot)mail(at)gmail(dot)com>, Lista de Ayuda Postgresql <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: constantes y variables |
Date: | 2007-07-17 16:29:02 |
Message-ID: | 20070717162902.GG20138@cajita |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
eduardo arenas dijo [Wed, Jul 11, 2007 at 12:15:54PM -0400]:
> que mala si es así :S ya que para generar grandes consultas anidadas es muy
> necesario tener algunas constantes que puedas declarar una sola vez :S
>
> he estado haciendo pruebas con una tabla temporal al inicio de la consulta y
> me resulta, pero igual no es muy comodo ya que tengo que cruzar la tabla con
> las demas y eso se vuelve tedioso :S
Piensa en la lógica de diseño de las bases de datos que se ciñen al
modelo relacional: No existe un "antes" y un "después". Para SQL, sólo
existen conjuntos de datos y operaciones que te dan parte de esos
conjuntos, o los modifican. Muchas veces (p.ej. en SELECT, UPDATE o
DELETE, cuando especificas el ID) obligas a que el conjunto de
resultados equivalga a un sólo elemento - pero en una consulta no
existe el "antes" o "después".
Claro, puedes lograr efectos similares a los de una constante
introduciendo un elemento con un valor fijo:
db=> SELECT * from users u, (SELECT 12345 AS max_id) AS constants WHERE constants.max_id > id;
Pero... Guácala, como decimos por acá :)
--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
From | Date | Subject | |
---|---|---|---|
Next Message | Gunnar Wolf | 2007-07-17 16:30:25 | Re: constantes y variables |
Previous Message | Alejandro D. Burne | 2007-07-17 15:48:02 | Re: Error en consulta |