SQL Server - update con case error de intercalacion

 
Vista:

update con case error de intercalacion

Publicado por yeso (1 intervención) el 26/08/2010 15:50:01
Hola,

trato de actualizar dos campos en función del valor de uno de ellos, este es el codigo:

UPDATE PRUEBA
SET PRUEBA.fecha_pen =
CASE
WHEN PRUEBA.fecha_pen is null THEN getdate()
WHEN PRUEBA.fecha_pen is not null THEN PRUEBA.fecha_pen
END,
PRUEBA.destino_pen =
CASE
WHEN PRUEBA.fecha_pen is null THEN PRUEBA.iso_destino
WHEN PRUEBA.fecha_pen is not null THEN PRUEBA.destino_pen
END
WHERE PRUEBA.pag_estado = 1

Les explico: cuando fecha_pen es nulo registro la fecha, en el caso de que ya este registrada, mantengo la fecha que ya este registrada; en el campo destino_pen, si el campo fecha_pen es nulo registro el destino, si ya esta registrado deberia mantener el destino ya registrado pero el analizador de consultas me muestra el siguiente mensaje:

"No se puede realizar la conversión implícita del valor char a char porque la intercalación del valor no está resuelta a causa de un conflicto de intercalación." Si omito este "WHEN" el campo se actualiza a nulo.

Este codigo se debe ejecutar cada dia mediante un job.

Como soluciono este problema???

Gracias

Yecid
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:update con case error de intercalacion

Publicado por Isaias (4557 intervenciones) el 26/08/2010 22:20:23
El problema es bien claro, el COLLATE del campo que deseas actualizar, no es compatible, con lo que le quieres poner.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar