[pgsql-ayuda] Problemas con subquierys en FROM

Luis Rodrigo Gallardo Cruz <Rodrigo Gallardo lrgallardo@abl.com.mx
Mon, 5 Mar 2001 16:22:30 -0600


 > 
 > No me dirve una tabla temporal porque estoy generando la página para
 > cada usuario en CGIs en tiempo de corrida, por lo que no puedo asegurar
 > que no haya dos peticiones casi simultaneas y hay posibles condiciones
 > de carrera en caso de que usen la misma tabla temporal. Me imagino que
 > es posible identificar las peticiones de modo que evitemos las
 > condiciones de carrera, pero para simplificarme la vida, no uso ni
 > archivos temporales, ni tablas temporales en mis CGIs. Así que por eso
 > no uso tablas temporales.
 > 
 > La ventaja del procedimiento almacenado es que podría encargarse de
 > hacer el segundo ordenamiento sin necesidad de una tabla temporal
 > "explicita", de modo que las condiciones de carrera se resuelvan dentro
 > de la propia base de datos, además, podría vencerse la limitante de no
 > tener subselects ordenados si el subselect es un procedimiento
 > almacenado, la verdad no se, depende de como se usen y la verdad no he
 > podido revisarlos bien.
 > 
Ah, vaya. Lo de las tablas temporales no es problema. Por eso se
llaman así. Cuando declaras una tabla usando TEMP, esta solo es
visible para esa conexión. No la ven otros usuarios, y desaparece en
cuanto desconectas. Claro que puedes estar usando una coexión
persistente, en cuyo caso tendrias que borrarla tu mismo, pero de
cualquier froma, no hay problemas de concurrencia.

No he averiguado sobre el procedimiento almacenado, pero tengo otra
propuesta de solución:

SELECT fecha from tabla order by fecha limit 1 offset 10.

No estoy seguro sobre la sintaxis de lo del offset, la intención es
recuperar la décima fecha a partir de la úlitma.

Y luego:
 SELECT * from tabla where fecha > 'la fecha obtenida' bla bla

Esto requiere que de veras todas las fechas sean distintas, y que
estes obteniendo todo de la misma tabla.

¿Te sirve?
-- 
Rodrigo

Si no eres parte de la solución, eres parte del precipitado.

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda