Hola,
la verdad es que la update que nos has puesto tiene muy mala pinta. Por ejemplo veo que intentas acceder a la tabla ALUMNO sin hacer la join. Intenta hacer algo así, a ver si te funciona (es orientativo, claro):
Código:
UPDATE NOTAS N SET...
WHERE N.ID_ASIGNATURA = '2'
AND EXISTS(SELECT 1 FROM DETALLE_ASIGNACION_ALUMNO DET, ALUMNOS ALU
WHERE DET.ID_DETALLE_ALUMNO = '1' AND DET.ID_ALUMNO = ALU.ID_ALUMNO AND ALU.ID_ALUMNO = N.ID_ALUMNO);
Saludos.