Как отправить статус процедуры pl/sql по электронной почте?

#oracle #plsql #utl-mail

Вопрос:

Я запланировал процедуру PL/SQL. Я хочу отправить статус процедуры PL/SQL (независимо от того, успешна ли она или имеет какие-либо сообщения об ошибках) на свой адрес электронной почты.

Я видел несколько способов отправки заранее определенных шаблонов электронных писем с использованием UTL_MAIL . Но как я могу получить статус моей процедуры по электронной почте?

Ответ №1:

Отправьте электронное письмо в конце запланированной хранимой процедуры, например

 create or replace procedure p_your_proc as  l_error varchar2(300); begin  -- do some processing   -- if there were no errors  utl_mail.send(sender =gt; 'rosh@gmail.com',  recipients =gt; 'rosh@gmail.com',  cc =gt; null,  bcc =gt; null,  subject =gt; 'Procedure P_YOUR_PROC completed successfully',  message =gt; null);  exception  when others then  l_error := sqlerrm;  utl_mail.send(sender =gt; 'rosh@gmail.com',  recipients =gt; 'rosh@gmail.com',  cc =gt; null,  bcc =gt; null,  subject =gt; 'Procedure P_YOUR_PROC ended with an error',  message =gt; l_error);  raise; end;