Hola
A mi se me hace muy raro que hagas todo esto en un procedimiento, sobre todo estas dos instrucciones
Código SQL
[-]
update facturacion set monto_iva=(sub_total*alicuota_iva)/100
where (tipo_factura='Consumo') and (tipo_tarifa='Industrial A') and (alicuota_iva<>0);
update facturacion set monto_iva=(sub_total*alicuota_iva)/100
where (tipo_factura='Consumo') and (tipo_tarifa='Industrial B') and (alicuota_iva<>0);
Para que lo diferencias si al final haces lo mismo.....
Código SQL
[-]
update facturacion set monto_iva=(sub_total*alicuota_iva)/100
where (tipo_factura='Consumo') and (alicuota_iva<>0);
Por otro lado, esto lo haces en un proceso normal o estas haciendo una actualizacion de datos ya existentes?????
Salud OS