Hay varias razones:
1) Mal uso de los DELIMITER.
2) Error de sintaxis en el IF ... THEN... ELSE ... END IF;
3) Incorrecto uso de las variables locales (el "@" se usa para las de sesión usuario, no para las locales).
4) Incorrecta definición de tipos de datos (No existe el INT(255), ese numero es imposible en ese contexto).
Probemos:
Código MySQL:
Ver originalDELIMITER $$
AND nit_intermediario
= nit_inter
COLLATE latin1_spanish_ci
; IF(b_siniestralidad
= 'M') THEN SET total_siniestralidad
= (movilizado
* porc_siniestralidad
); SET total_siniestralidad
= (ingreso
* porc_siniestralidad
); DELIMITER ;
Saludos para Leonardo, que hoy se me adelantó...