80 lines
2.1 KiB
Plaintext
80 lines
2.1 KiB
Plaintext
#ifdef BEZ // 03-11-2000 PF
|
|
|
|
/* $Revision: 29 $
|
|
* $Modtime: 30-11-09 15:35 $
|
|
*/
|
|
|
|
#include "comsql.h"
|
|
|
|
CREATE_TRIGGER(bez_t_bez_afspraak_B_IU)
|
|
BEFORE INSERT OR UPDATE ON bez_afspraak
|
|
FOR EACH ROW
|
|
DECLARE dummy NUMBER;
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(bez_afspraak_key,bez_s_bez_afspraak_key);
|
|
|
|
dummy := :new.bez_afspraak_key;
|
|
|
|
IF :new.bez_afspraak_contact_key IS NULL AND :new.prs_perslid_key IS NOT NULL THEN
|
|
:new.bez_afspraak_contact_key := :new.prs_perslid_key;
|
|
END IF;
|
|
|
|
IF :new.bez_afspraak_host_key IS NULL AND :new.bez_afspraak_gastheer IS NULL THEN
|
|
:new.bez_afspraak_host_key := :new.bez_afspraak_contact_key;
|
|
END IF;
|
|
IF :new.bez_afspraak_host_key IS NOT NULL THEN
|
|
SELECT SUBSTR(prs_perslid_naam_full,1,50)
|
|
INTO :new.bez_afspraak_gastheer FROM prs_v_perslid_fullnames_all
|
|
WHERE prs_perslid_key=:new.bez_afspraak_host_key;
|
|
END IF;
|
|
IF :new.alg_onrgoed_keys IS NOT NULL THEN
|
|
BEGIN
|
|
SELECT SUBSTR (alg_plaatsaanduiding, 1, 30)
|
|
INTO :NEW.bez_afspraak_ruimte
|
|
FROM alg_v_plaatsaanduiding_all
|
|
WHERE alg_onroerendgoed_keys = :NEW.alg_onrgoed_keys AND alg_onroerendgoed_type <> 'L';
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
:NEW.bez_afspraak_ruimte := SUBSTR ('*' || :NEW.bez_afspraak_ruimte, 1, 30);
|
|
END;
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
CREATE_TRIGGER(bez_t_bez_afspraak_d)
|
|
AFTER DELETE
|
|
ON bez_afspraak
|
|
FOR EACH ROW
|
|
BEGIN
|
|
DELETE FROM bez_bezoekers WHERE bez_afspraak_key=:OLD.bez_afspraak_key;
|
|
END;
|
|
/
|
|
|
|
CREATE_TRIGGER(bez_t_bez_bezoekers_B_IU)
|
|
BEFORE INSERT OR UPDATE ON bez_bezoekers
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(bez_bezoekers_key,bez_s_bez_bezoekers_key);
|
|
END;
|
|
/
|
|
|
|
CREATE_TRIGGER(bez_t_bez_actie_B_IU)
|
|
BEFORE INSERT OR UPDATE ON bez_actie
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(bez_actie_key,bez_s_bez_actie_key);
|
|
END;
|
|
/
|
|
|
|
CREATE_TRIGGER(bez_t_notificatie_afspraak_d)
|
|
AFTER DELETE
|
|
ON bez_afspraak
|
|
FOR EACH ROW
|
|
BEGIN
|
|
fac.clrnotifications('BEZ%', :OLD.bez_afspraak_key);
|
|
END;
|
|
/
|
|
|
|
#endif // BEZ
|