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 originalCódigo SQL: Ver originalCopiar
MERGE INTO
hdimagen ds
USING
(SELECT '555555555' AS clave FROM dual) b
ON (ds.telefono = b.clave)
WHEN MATCHED THEN UPDATE
SET ***ds.telefono='555555555' ***, he quitado lo que hay entre los asteriscos
fecha_encuesta=to_date ('6 / 5 / 2010','DD/MM/YYYY') ,
television='Si' ,
conexion='HDMI' ,
modovideo='1080i' ,
hdmi='Si' ,
dif_calidad='No' ,
observa='prueba merge'
WHEN NOT MATCHED THEN INSERT (telefono ,fecha_encuesta ,television ,conexion ,modovideo ,hdmi ,dif_calidad ,observa)
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.