Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Najlepszy sposób na otrzymanie wiadomości e-mail po równoczesnym niepowodzeniu (sql - wyzwalacz - aplikacja)

Możesz użyć podwójnych rur (|| ) jako operatory konkatenacji i odfiltruj wyniki według żądanych typów statusu wymienionych w nawiasach po IN operator zapytania.

Utwórz procedurę i umieść w niej zapytanie jako kursor i użyj utl_http pakiet w ramach tej procedury, jak poniżej:

create or replace procedure pr_mail_me is

  v_email varchar2(100) := '[email protected]';
  v_rep   varchar2(4000);
  v_url   varchar2(4000);

  cursor crs_request is
  select 'The concurrent '||program||' with request_id '||request_id||' ended with status '|| 
           status as message, request_id
    from
    (
       <the subquery>
      )
   where rn = 1
     and status in ('WARNING','ERROR','STAND BY');    

begin

  for c in crs_request
  loop
  begin

    v_url := 'http://www.mycompany.com/path_to/default.aspx?email=' ||
              v_email ||'&out_message='||c.message||'&out_request_id='||c.request_id;
    v_rep := utl_http.request(utl_url.escape(v_url,false,'UTF-8'));

   exception
       when others then
            v_url := 'http://www.mycompany.com/path_to/default.aspx?email=' ||
                      v_email ||'&out_message='||substr(sqlerrm,1,250)||'&out_request_id='||c.request_id;
                      v_rep := utl_http.request(utl_url.escape(v_url,false,'UTF-8'));
        end;
  end loop;
end;

aby otrzymywać e-maile jako wywołanie tej procedury.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest utworzony wiersz Data-godzina dla wiersza tabeli w Oracle?

  2. Wykrzyknik w SQL (Oracle)

  3. Jaki jest minimalny zasięg klienta wymagany do połączenia C# z bazą danych Oracle?

  4. Znajdowanie najnowszej umowy dla każdego konta

  5. SIGN() Funkcja w Oracle