create table codigos_post (codp number primary key, ciudad char(10)); Tabla creada. create table personas (dni number primary key, nombre char(10), dir char(10), codp number references codigos_post(codp), ciudad char(10)); Tabla creada. create or replace trigger triger1 before insert or update of codp, ciudad on personas for each row begin select ciudad into :new.ciudad from codigos_post where codp=:new.codp; end; / Disparador creado. create or replace trigger triger2 after update of ciudad on codigos_post begin update personas set personas.ciudad = ''; end; / Disparador creado. insert into codigos_post values (31011,'Soria'); 1 fila creada. insert into codigos_post values (50015,'Zaragoza'); 1 fila creada. select * from codigos_post; CODP CIUDAD ---------- ---------- 31011 Soria 50015 Zaragoza insert into personas values (1,'Pepe','Mayor 16',31011,'Bilbao'); 1 fila creada. select * from personas; DNI NOMBRE DIR CODP CIUDAD ---------- ---------- ---------- ---------- ---------- 1 Pepe Mayor 16 31011 Soria update codigos_post set ciudad ='Pamplona' where codp = 31011; 1 fila actualizada. select * from personas; DNI NOMBRE DIR CODP CIUDAD ---------- ---------- ---------- ---------- ---------- 1 Pepe Mayor 16 31011 Pamplona update personas set codp =50015 where dni = 1; 1 fila actualizada. select * from personas; DNI NOMBRE DIR CODP CIUDAD ---------- ---------- ---------- ---------- ---------- 1 Pepe Mayor 16 50015 Zaragoza update personas set ciudad ='Las Palmas' where dni = 1; 1 fila actualizada. select * from personas; DNI NOMBRE DIR CODP CIUDAD ---------- ---------- ---------- ---------- ---------- 1 Pepe Mayor 16 50015 Zaragoza