From: | Gunnar Wolf <gwolf(at)gwolf(dot)org> |
---|---|
To: | Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: numrow |
Date: | 2006-11-29 03:07:12 |
Message-ID: | 20061129030712.GA14313@gwolf.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Victor Lopez dijo [Mon, Nov 27, 2006 at 06:54:40PM +0100]:
> > > Existe ago como el numrow (creo) de Oracle, para numerar las lineas
> > > resultantes en un SELECT?
> >
> > Tiene mucho mas sentido que lo hagas en la aplicacion cliente, no?
>
> CREATE TEMP SEQUENCE enum;
> SELECT (posicion / items_por_pagina_de_buscador) -1 AS pagina
> FROM (SELECT nextval(enum) AS posicion, ID
> FROM textos
> ORDER BY titulo) AS t
> WHERE t.ID = ID_buscado
>
> o algo parecido, es mas rápido en el servidor ... no?
Pues... Del lado del cliente, basta que englobes tus resultados en una
lista numerada (<ol>) si vas a entregarlo en HTML. Si no va para HTML,
bastaría con (digamos):
$sth=$dbh->prepare('SELECT * FROM tabla WHERE condicion');
$sth->execute;
while (@data = $sth->fetchrow) {
$renglon++;
print "Los datos para el renglon $renglon son: $data[0] $data[1]...\n";
}
Vamos... Meramente ilustrativo - ¿Pero por qué crees que esto sería
más rápido del lado del servidor? Además, ¿qué pasa si mi tabla en
Oracle tiene un campo llamado rownum? :)
Saludos,
--
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 | Jaime Casanova | 2006-11-29 04:15:45 | Re: COULD NOT OPEN SEGMENT 1 |
Previous Message | Jaime Casanova | 2006-11-29 02:38:22 | Re: demora al crear una columna nueva |