sql - Trigger to replace character following insert -
sql - Trigger to replace character following insert -
is possible create trigger user replaces character after loading info table?
for example, need replace '1' s '9' s in pers_id column when user loads info table.
i finish newbie plsql, don't know start.
i'm not sure if create clear goal, please sense free inquire clarification.
technically, can... (for simplicity, i'm assuming pers_id
string rather number-- if number, could, of course, convert string, run replace
, convert number in trigger)
sql> create table foo( pers_id varchar2(10) ); table created. sql> create trigger replace_data 2 before insert on foo 3 each row 4 begin 5 :new.pers_id := replace( :new.pers_id, '1', '9' ); 6 end; 7 / trigger created. sql> insert foo values( '123abc456' ); 1 row created. sql> select * foo; pers_id ---------- 923abc456
practically, however, requirement seems exceptionally odd. having trigger silently alter info beingness inserted bad thought because tends create debugging exceptionally difficult. future developers rather surprised when info they inserted table doesn't match info see when query table , unlikely figure out trigger changed data. if can describe business problem trying solve, can come more appropriate technical solution.
sql plsql triggers oracle11g
Comments
Post a Comment