56,940
社区成员




create FUNCTION f_get_triggerinfo(v_alarm_event_id int) returns int
begin
declare v_ret int;
select
(case when (exists (select 1 from alarm_trigger_client where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 1 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_email where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 10 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_io where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 100 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_message where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 1000 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_popup_video where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 10000 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_preset where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 100000 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_tvwall where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 1000000 else 0 end case)
+
(case when (exists (select 1 from alarm_trigger_vrm where alarm_event_id=alarm_event.alarm_event_id and valid_flag='1')) then 10000000 else 0 end case)
into v_ret
from alarm_event where alarm_event_id=v_alarm_event_id;
return v_ret;
end;