-- A hibás eseményvezérlő eldobása
DROP TRIGGER "OB_TULAJDONOS UPDATE";

-- A cím objektum törlése esetén az ugyanazon a helyen lévő igényhely is törlődjön
CREATE TRIGGER IH_OBJEKTUM_DEL
after delete on CIM_OBJEKTUM
for each row
begin
    delete from IH_VEGPONT where GEOM = old.GEOM;
end;

-- A GEOX táblába új sor beszúrása esetén a cím objektum is létrejöjjön
CREATE TRIGGER GEOX_OBJEKTUM_INS after insert on GEOX_OBJEKTUM for each row
when (select GEOX2CIM  from CIM_ALAPBEALLITASOK) = 1
begin
insert into CIM_OBJEKTUM (CIMPRIORITAS, CIMKAPCSOLAT, TELEPULES,
	TELEPULESRESZ, KERULET, IRANYITOSZAM, KOZTERULET_NEV, KOZTERULET_JELLEG,
	HRSZ, EPULETNEV, HAZSZAM_TOL, CID_2, EBE, GEOM, ORIENTATION, Z, QUALITY)
  VALUES (1, 0,new.TELEPULES_KOD, new.TELEPULESRESZ, new.KERULET,
    new.IRANYITOSZAM, new.KOZTERULET_NEV,
	(select KOD FROM K_JELEG WHERE new.KOZTERULET_JELLEG = K_JELEG.K_JELEG),
    new.HELYRAJZISZAM, new.EPULET_NEV, new.HAZSZAM, new.CID_2, 0,
    new.GEOM, new.ORIENTATION, new.Z,new.QUALITY );
end

-- A cím objektum létrehozásakor jöjjön létre új igényhely objektum is ugyanazon a helyen.
CREATE TRIGGER IH_OBJEKTUM_ADD after insert on CIM_OBJEKTUM for each row
when (select CIM2IH from CIM_ALAPBEALLITASOK) = 1
begin
  insert into IH_VEGPONT (EHO_OBJ, TERV_ID, ORIENTATION, Z, IH_STATUSZ, 
  IH_TIPUS, IH_AV, BEEPEV, IH_KV, EBE, IH_UV, IH_LV, IH_HT, 
  IH_SZIP, SZ_ID, GEOM)
  values (129, (select TERV_ID from TERV limit 1), 0.0, 0, 2, 1, 0,
  1980, 0, 0, 0, 1, 0, 0, new.FID,
  (select GEOM from CIM_OBJEKTUM where FID = new.FID)
 );
end

-- A beillesztett optikai kötéseket csatlakozó megszakító szekrény vagy oszlop objektum 
CREATE TRIGGER "O_KOTES_UPDATE_GEOM" AFTER UPDATE ON O_KOTES FOR EACH ROW
begin
update O_KOTES set GEOM = (select GEOM from (select EHO_ID, GEOM from NY_OSZLOP union select EHO_ID, GEOM from NY_MEGSZAKITO)) where O_KOTES.IF_EHO_ID=EHO_ID;
end
