Da es manchmal schwierig ist, alle Nummern und die dahinter steckenden Definitionen zu kennen, gibt es alternativen. Für mich sind dies TRIGGER (eher selten und nur bei kleineren Tabellen oder wenn der Status auch durch die Applikation genutzt wird) und VIEW:
-- create table and trigger create table lem_test_513 ( e_id number(11) unique, status number(11) default 0 not null, state_desc varchar2(100) default 'NEU' not null ); create or replace trigger tri_lem_test_513 before insert or update on lem_test_513 for each row begin if :new.status=0 then :new.state_desc:='NEW'; elsif :new.status=1 then :new.state_desc:='WARTEN'; elsif :new.status=2 then :new.state_desc:='IN ARBEIT'; elsif :new.status=9 then :new.state_desc:='ABGESCHLOSSEN'; else :new.state_desc:='('||:new.status||') Unknown'; end if; end; / truncate table lem_test_513; -- insert demo-row insert into lem_test_513 (e_id) values (111); insert into lem_test_513 (e_id) values (222); insert into lem_test_513 (e_id) values (333); select * from lem_test_513; --E_ID STATUS STATE_DESC --111 0 NEW --222 0 NEW --333 0 NEW -- try update these row update lem_test_513 set status = 1 where e_id = 111; select * from lem_test_513; --E_ID STATUS STATE_DESC --111 1 WARTEN --222 0 NEW --333 0 NEW update lem_test_513 set status = 2 where e_id = 111; update lem_test_513 set status = 2 where e_id = 222; select * from lem_test_513; --E_ID STATUS STATE_DESC --111 2 IN ARBEIT --222 2 IN ARBEIT --333 0 NEW update lem_test_513 set status = 3 where e_id = 333; select * from lem_test_513; --E_ID STATUS STATE_DESC --111 2 IN ARBEIT --222 2 IN ARBEIT --333 3 (3) Unknown update lem_test_513 set status = 9 where e_id = 111; select * from lem_test_513; --E_ID STATUS STATE_DESC --111 9 ABGESCHLOSSEN --222 2 IN ARBEIT --333 3 (3) Unknown -- alternativ view create or replace view v_lem_test_513 as select e_id, status, case when status = 0 then 'NEW' when status = 1 then 'WARTEN' when status = 2 then 'IN ARBEIT' when status = 9 then 'ABGESCHLOSSEN' else '('||status||') Unknown' end state_desc from lem_test_513; select * From v_lem_test_513;