Re: constantes y variables

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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