Problema com algoritmo de procedure

Bom, foi me passado uma questão pra editar uma tabela e editar somente se todos os dados estiverem corretos, exceto o que eu quero alterar.

Exemplo, vou alterar somente o nome do cliente, aí chamo a procedure assim:

CALL sp_atualizarCli(2,'MariOOO',123,987);

Ok, vai alterar o nome tranquilo…
Agora passando pro RG que vai o problema. eu Mando todos os dados iguais, exceto o RG, só que não altera!

CALL sp_atualizarCli(2,'MariOOO',1234,987);

Aqui vai o algorítimo da procedure:

O que deve ser a fonte do problema?