Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
A Newtron me lo respetan...

Responder Con Cita
  #2  
Antiguo 19-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
Por cierto, ¿nadie va a regañar al forista por tan mala selección de título para su mensaje?

// Saludos
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Estos novatos...
"susvaisanterar"


Cita:
Empezado por Al González Ver Mensaje
A Newtron me lo respetan...



Gracias a todos, haré pruebas y os comento qué me resulta más eficiente.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 19-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Bueno.

He hecho pruebas y las soluciones de Casimiro y ecfisa tardan lo mismo que la mía inicial con la diferencia de que, como bien dice ecfisa, con la de Casimiro asigna valor null cuando los resultados no son coincidentes así que nos quedamos como estamos.

La consulta de roman no me funciona, me dice exactamente "Expected SET but instead found LEFT", o sea, que después del "UPDATE....." no deja poner otra cosa que no sea "SET ...". Igual eso funciona en Firebird pero en mi base de datos (ElevateDB) no va.

Efectivamente el problema de la lentitud es que por cada linea de la tabla MOVIMIENTOS tiene que hacer un SELECT a la tabla CLIENTES para buscar el valor cuando sería bastante más rápido que fuera a buscar primero a la tabla CLIENTES los registros que coincidan con el campo TIPO=loquesea y luego fuera a la tabla MOVIMIENTOS y cambiara solo los de esos clientes, que en este caso serían pocos.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 19-02-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Yo probaría a hacer dos consultas. Primero, encontrar la lista de registros que tienen que actualizarse (y los valores a asignar), y luego hacer la actualización en un bucle. Puede que sea más rápido, o no, que no lo he probado.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 19-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Yo probaría a hacer dos consultas. Primero, encontrar la lista de registros que tienen que actualizarse (y los valores a asignar), y luego hacer la actualización en un bucle. Puede que sea más rápido, o no, que no lo he probado.
Ciertamente es otra forma, lo que no sé es que si la lista de valores a actualizar, y por lo tanto de vueltas en el bucle, es mucha igual no es rentable.

Gracias por el comentario.
__________________
Be water my friend.
Responder Con Cita
Respuesta



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
Crear una sentencia para update. Adrian Murua MySQL 8 19-10-2012 08:38:16
Insertar sentencia SQL despues de Insert,update o delete vivamotos Firebird e Interbase 10 02-08-2011 18:24:30
Modificar una sentencia SQL en tiempo ejecución Alexandro Conexión con bases de datos 8 15-05-2008 17:22:01
Sentencia UPDATE kikecg SQL 5 16-10-2006 11:23:24
Optimizacion de Tiempo Luis Alberto Varios 14 09-11-2005 01:11:34


La franja horaria es GMT +2. Ahora son las 19:37:21.


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