Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/05/2010, 23:50
jomiferdo
 
Fecha de Ingreso: abril-2010
Ubicación: Valencia
Mensajes: 11
Antigüedad: 14 años
Puntos: 0
Respuesta: PHP-ORACLE y "MERGE"

Bueno, algunas veces no hay nada como un buen descanso, jajajaja, hoy viendo el codigo, he dado con el error. Tengo que decir, que no os dije (perdon se me escapo) que el campo telefono es el indice de la tabla, con lo cual lo que me indica el error es que no puede updatear el propio indice, me explico.

Código SQL:
Ver original
  1. Código SQL: Ver originalCopiar
  2. MERGE INTO
  3. hdimagen ds
  4. USING
  5. (SELECT '555555555' AS clave FROM dual) b
  6. ON (ds.telefono = b.clave)
  7. WHEN MATCHED THEN UPDATE
  8. SET ***ds.telefono='555555555' ***, he quitado lo que hay entre los asteriscos
  9. fecha_encuesta=to_date ('6 / 5 / 2010','DD/MM/YYYY') ,
  10. television='Si' ,
  11. conexion='HDMI' ,
  12. modovideo='1080i' ,
  13. hdmi='Si' ,
  14. dif_calidad='No' ,
  15. observa='prueba merge'
  16. WHEN NOT MATCHED THEN INSERT (telefono ,fecha_encuesta ,television ,conexion ,modovideo ,hdmi ,dif_calidad ,observa)
  17. VALUES to_date ('6 / 5 / 2010','DD/MM/YYYY') ,'Si' ,'HDMI' ,'1080i' ,'Si' ,'No' ,'prueba merge')

Como veis, he quitado el SET del campo Telefono, ya que este es el indice y no puede ni updatearlo ni insertarlo, y a partir de ahi esta funcionando correctamente.

Muchas gracias por vuestro tiempo y apoyo.

Saludos.