Is it possible to separate the application of statements inside database transactions?
You need something like 

UPDATE tab1 set value = 
   CASE value
     WHEN 0 THEN 1 
     WHEN 1 THEN 4
     WHEN 2 THEN 0 
   END;


If you need to treat values which are not listed in CASE in a different way, say don't change it ,  you need to add ELSE to CASE as  ypercubeᵀᴹ pointed out: 

UPDATE tab1 set value = 
       CASE value
         WHEN 0 THEN 1 
         WHEN 1 THEN 4
         WHEN 2 THEN 0 
         ELSE value
       END;


Or you can create a new table, insert  all mappings there,
and then (assuming mapping is unique)  

UPDATE  tab1 t SET value = 
 (SELECT new_val from mapping_table t2 WHERE t2.old_val = t.value)