aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_tr_followup_alert
Parameters
Name
Type
Mode
Definition
declare alert_user text; page int; begin CASE TG_OP when 'INSERT' THEN FOREACH page IN ARRAY new.alert_pages_id LOOP FOREACH alert_user IN ARRAY new.assign_users LOOP insert into user_alerts(user_name, alert_page, alert_type, alert_date, followup_id) values (alert_user, page, 'followup', new.alert_date, new.id); END LOOP; END LOOP; when 'UPDATE' then FOREACH page IN ARRAY new.alert_pages_id LOOP FOREACH alert_user IN ARRAY new.assign_users LOOP IF NOT EXISTS( select * from user_alerts a where a.user_name = alert_user and a.alert_page = page and a.followup_id = new.id ) THEN INSERT INTO user_alerts(user_name, alert_page, alert_type, alert_date, followup_id) VALUES (alert_user, page, 'followup', new.alert_date, new.id); END IF; END LOOP; END LOOP; else END CASE; RETURN NULL; END;