Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-10-2017
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Desde una SP hacer select a un cursor

Hola amigos.
En una SP uso "for execute statement SCRIPT1 into...." en la que hago sum de campos agrupados por usuario, a continuación hago un select a otra tabla haciendo un count y un sum con una condición para el usuario actual. Todo funciona bien pero demora muchisimo pese a que los campos involucrados tiene su indice.
Lo que quisiera poder probar es, de ser posible, en la SP crear previamente un cursor con el select con su respectivo Where agrupado por usuario y luego continuar con "for execute statement SCRIPT1 into...." y a continuación hacer el Select al cursor con ese usuario.
Es posible hacer esto?

Gracias
Responder Con Cita
  #2  
Antiguo 20-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Difícil responderte teniendo en cuenta que ni siquiera has dicho qué base de datos usas.

En cuanto a tu problema, ¿has comprobado por qué es lento?
Es que estás intentando cambiarle las ruedas al coche porque es lento, y a lo mejor es que no tiene gasolina.
Responder Con Cita
  #3  
Antiguo 20-10-2017
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Gracias Casimiro.
Uso FireBird2.5 y se hace lento porque por cada usuario del For hace un Select a otra tabla, por eso supongo que si previamente tengo esa tabla lista, luego hacer un select.. where usuario... va a ser mucho mas rápido ya que no tiene clausula where.
Responder Con Cita
  #4  
Antiguo 20-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Realmente es imposible contestarte si no tenemos el SP, la base de datos que usas y datos de pruebas.
Responder Con Cita
  #5  
Antiguo 27-10-2017
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Poder: 21
ronalg Va por buen camino
Si es posible hacer lo que dices

Cita:
Empezado por jars Ver Mensaje
Hola amigos.
En una SP uso "for execute statement SCRIPT1 into...." en la que hago sum de campos agrupados por usuario, a continuación hago un select a otra tabla haciendo un count y un sum con una condición para el usuario actual. Todo funciona bien pero demora muchisimo pese a que los campos involucrados tiene su indice.
Lo que quisiera poder probar es, de ser posible, en la SP crear previamente un cursor con el select con su respectivo Where agrupado por usuario y luego continuar con "for execute statement SCRIPT1 into...." y a continuación hacer el Select al cursor con ese usuario.
Es posible hacer esto?

Gracias
Si colocaras parte del codigo podriamos ayudarte de mejor manera pues me aprece raro que "demore muchisimo" no creo que sea por culpa del motor, pues firebird es muy rapido incluso en procesos anidados
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer Select dado un año en Firebird Jose Roman SQL 1 17-08-2012 19:53:59
Como hacer que el cursor vaya a un campo de un grid jafera OOP 11 15-02-2012 01:41:29
Al hacer un SetFocus() en TEdit que el cursor se mueva al final del Texto kagua77 C++ Builder 3 17-04-2008 19:11:33
Hacer un select a 2 tablas de 2 gdb´s. AMINOA2R Firebird e Interbase 6 25-01-2008 16:45:43
Cursor sql desde delphi Rafa SQL 2 18-02-2004 17:40:48


La franja horaria es GMT +2. Ahora son las 21:01:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi