El código que pones está incompleto y parece haber una confusión en el uso de las variables.
Acuérdate que no estás trabajando en SQL Server. Una variable
var y
@var, son dos variables diferentes.
Acá puedes ver el caso:
Código MySQL:
Ver original
SET @var_eliminado
= '0';
SET @var_emp_id
= 'NULL'; SET @var_emp_id
= p_emp_id
;
SET @var_cargo
= p_cargo
;
Además, hay algunas otras consideraciones:
1) Las variables con "@" son variables de sesión y su valor es NULL hasta ser inicalizadas, por lo que no sirven para comparaciones antes de eso.
2) NULL y 'NULL' son cosas diferentes. Uno es un estado, el otro es una cadena de texto.
3) Si p_cargo (que no sabemos de donde viene) es NULL,
saldrá por el ELSE, porque no es lo mismo un espacio vacío que NULL.
Por favor, postea
todo el cuerpo del código, sin recortar, y explicanos qué error te da.