Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/04/2013, 09:57
marioincio
 
Fecha de Ingreso: marzo-2012
Ubicación: Los olivos
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Pregunta hacer update con select

Hola alguien me ayuda a correguir este update.LO que hace es actualizar varios registros para una sola columna pero me da el siguiente error.

Cita:
"Error SQL: ORA-01779: cannot modify a column which maps to a non key-preserved table
01779. 00000 - "cannot modify a column which maps to a non key-preserved table"
*Cause: An attempt was made to insert or update columns of a join view which
map to a non-key-preserved table.
*Action: Modify the underlying base tables directly."
Código SQL:
Ver original
  1. UPDATE (
  2. SELECT
  3. x.kpi_bueno AS old_bueno,
  4. y.valor AS new_bueno
  5. FROM kpi_detalle x
  6. INNER JOIN
  7. (
  8.     SELECT a.cod_area_empr,a.cod_cargo_pers,a.cod_pers,a.vkpi_fec_medida,SUM(vkpi_valor) AS valor
  9.     FROM vkpi_vector a
  10.     LEFT JOIN dkpi_vector b ON b.dkpi_vector_id = a.dkpi_vector_id
  11.     WHERE b.ind_estado='B'
  12.     GROUP BY a.cod_area_empr,a.cod_cargo_pers,a.cod_pers,a.vkpi_fec_medida
  13. ) y ON x.cod_area_empr=y.cod_area_empr
  14. AND x.cod_cargo_pers = y.cod_cargo_pers
  15. AND x.cod_pers = y.cod_pers
  16. AND x.vkpi_fec = y.vkpi_fec_medida
  17. ) SET old_bueno = new_bueno;
__________________
Conocimiento que no se comparte se pierde

Última edición por gnzsoloyo; 11/04/2013 a las 10:13 Razón: Mal etiquetado.