Imposible de Leer... intenta en el futuro darle un poco de formato...
Vamos por partes:
1 - los [] solo utilizálos con nombres de campos con espacio, por ejemplo [pepe el grande], asi es más fácil de leer...
2 - el if no sirve de nada en la sentencia, ya que con solo el update funciona =, imagina que le dices que si existe X lo actualice, pero da igual, porque sino pones el if y ejecutas el update sin la existencia del registro, no actualiza nada.
No entiendo que es lo que lo que quieres decir con: "y no solamente el que necesito que actualice"
Para hacer lo mismo en el Analizador de consulta mira esto:
Código:
Declare
@nombreexamen nvarchar(50),
@puntaje int,
@fecha smalldatetime,
@lee bit,
@escribe bit,
@habla bit,
@docidentidad varchar(30),
@ididioma int
set @nombreexamen='pepe'
-- aqui los demas set, de las variables
UPDATE ExamenIdiomas
SET nombreexamen=@nombreexamen,
puntaje= @puntaje,
fecha=@fecha,
lee=@lee,
escribe=@escribe,
habla=@habla,
ididioma=@ididioma
WHERE docidentidad=@docidentidad and nombreexamen=@nombreexamen