Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 21-11-2012
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 19
TOPX Va camino a la fama
Hola,

No especifica el motor de base de datos que usa, pero:

Con SQL estándar, para muchos motores, podría hacer:
Código SQL [-]
UPDATE productos 
SET AnchoPap=143 
WHERE EXISTS (
  SELECT DISTINCT 1 
  FROM troqueles 
  WHERE ref = productos.ref
  AND principal=true 
  AND Troquel=2298
)
Con Firebird, también podría hacer:
Código SQL [-]
FOR
  SELECT DISTINCT ref 
  FROM troqueles 
  WHERE principal=true 
  AND Troquel=2298
INTO :ref DO
BEGIN
  UPDATE productos 
  SET AnchoPap=143 
  WHERE ref = :ref
END

Con MS Sql, también podría hacer:
Código SQL [-]
UPDATE productos 
SET AnchoPap=143 
INNER JOIN troqueles
ON productos.ref = troqueles.ref
AND troqueles.principal=true 
AND troqueles.Troquel=2298

Con (algunas versiones de) Oracle, también podría hacer:
Código SQL [-]
UPDATE (
  SELECT productos.ref, productos.AnchoPap
  FROM productos
  INNER JOIN troqueles
  ON productos.ref = troqueles.ref
  WHERE troqueles.principal=true 
  AND troqueles.Troquel=2298
)
SET AnchoPap=143

Pero siempre, siempre, se le va a demorar ese UPDATE mientras la selección de registros de la tabla productos no esté apropiadamente indexada. Desde mi humilde opinión, es la única opción.

-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
 


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
Columna en cxgrid no relacionada con tabla o consulta dunia_lv OOP 3 06-07-2010 18:31:16
Actualizar tabla con datos de otra tabla mediante UPDATE Rockin Firebird e Interbase 18 28-11-2007 19:15:42
Problema al hacer un update en una tabla con datos de otra Iseberiano SQL 3 08-06-2005 12:32:14
Update de una tabla con información de otra Manuel SQL 1 26-05-2005 20:07:38
UPDATE con referencia a otra tabla... JorgeBec SQL 6 05-08-2004 20:48:36


La franja horaria es GMT +2. Ahora son las 17:06:20.


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