SQL – Actualizar múltiples registros con valores de otra tabla

marzo 28, 2012

A la hora de migrar datos de un sistema a otro, no siempre se trata de copiar de una tabla a otra con la misma estructura. A veces, hay que copiar los valores de una columna de una tabla a otra. Para hacer esto en Oracle basta con utilizar una subconsulta de la siguiente manera

update usuarios u
set id_oficina=(
   select o.id
   from oficina_usuario o
   where u.id=o.id
)

Es importante que la subconsulta regrese un sólo valor para la condición que relaciona las tablas (‘where u.id=o.id_usuario’), de lo contrario fallará.

7 comentarios to “SQL – Actualizar múltiples registros con valores de otra tabla”

  1. ZackKatarina Says:

    Рега пега

  2. yUSET MERCADO Says:

    Pero un solo registro…..
    todos los block siempre ponene ejemplo uno solo….
    deseo actulizar multiples…

  3. daniel Says:

    UPDATE Cliente
    INNER JOIN (SELECT Nreg, count(id) total FROM [Máquinas] GROUP BY [Máquinas].nreg)
    t1 ON t1.nreg = Cliente.nreg
    SET Cliente.Cant_Maq = t1.total;

    Me da error de sintaxis cerca de INNER
    Ayuda Gracias

    • cirovladimir Says:

      Mueve la subconsulta dentro de la clausula SET de tal forma que regrese un sólo registro

      UPDATE Cliente t1
      SET t1.Cant_Maq = (SELECT count(id) total FROM [Máquinas] WHERE [Máquinas].nreg = t1.nreg);

  4. k2nqfh7 Says:

    Hola esto es kulaganga :

    , ,
    Ricardo Martin Soriano
    ¿que es kulaganga?
    t3fcuj6
    Comparativa en los tarifa del microcemento


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: