Dejo la respuesta aunque sea muy viejo el tema
---------------------------------------------------
En el where no hace falta que le coloques con comilla simple a tu variable, el oracle automaticamente interpretará de acuerdo a tu type de variable si es o no string.
Código SQL:
Ver originalUPDATE cliente SET BONO_CANJEABLE=v_valorBono+15 WHERE cliente.cod_cli=p_cod_cliente;
Asi debes dejar en cada uno de tus updates y ya te deberia de funcionar.
No lo actualiza por que lo que hace es buscar un codigo de cliente que su valor sea "p_cod_cliente" (no el valor de la variable sino toma el nombre de la variable como el valor por estar dentro de la comilla simple)