Я создал триггер, который будет следовать за другим триггером. Этот триггер сработает, когда проблема будет вставлена в таблицу p_it_issues, и утверждающий 1 (p_it_people.approver = 'уровень утверждающего 1' из того же отдела получит уведомление по электронной почте, чтобы одобрить проблему на первом уровне). Я получаю курсор из области действия ошибки в этом триггере:
CREATE OR REPLACE EDITIONABLE TRIGGER "P_IT_ISSUES_AIU_Notify_Approver_1"
AFTER
insert on P_IT_ISSUES
for each row
FOLLOWS P_IT_ISSUES_AIU_EMAIL
declare
v_person_id number;
v_email varchar2(255);
v_dept_name varchar2(50);
begin
select p.person_id ,p.person_email,i.dept_name into v_person_id,v_email,v_Dept_name from p_it_people p,p_it_departments i
where p.assigned_dept=i.dept_id and i.dept_id=:new.related_dept_id and p.approver='Approver 1' ;
APEX_MAIL.SEND(
p_to => p.person_email,
p_from => p.person_email,
p_body =>
'You have been assigned a new issue for first level approval. ' ||chr(10)||
'The details are below. ' ||chr(10)||
chr(10)||
' Department:'|| i.dept_name ||chr(10)||
' Summary: '||:new.issue_summary ||chr(10)||
' Status: '||:new.status ||chr(10)||
'Priority: '||nvl(:new.priority,'-'),
p_subj => 'New Issue for First Level Approval');
end;
Кроме того, причина, по которой он следует за предложением, заключается в том, что триггер до этого также после вставки в таблицу p_it_issues, чтобы уведомить уполномоченного по проблеме о том, что проблема имеет был назначен, поэтому, чтобы избежать мутации, я создал этот триггер, используя следующее предложение.