Es geht allerdings auch einfacher, z.B.:

update preipf
set
prpro = (case prart when '10' then :bkda else prpo end)
,ufwer = (case prart when '10' then :buep else ufwer end)
,.....
where prkhs = :cmnr and prfir = 3

analog dann für alle weiteren Felder.
Das geht schneller und auch übersichtlicher.