Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara terbaik untuk menerima email setelah gagal bersamaan (sql - trigger - application)

Anda dapat menggunakan pipa ganda(|| ) sebagai operator gabungan, dan filter hasilnya menurut jenis status yang Anda inginkan yang tercantum dalam tanda kurung setelah IN operator untuk kueri.

Buat prosedur dan bawa kueri Anda ke dalamnya sebagai kursor dan gunakan utl_http paket dalam prosedur itu seperti di bawah ini :

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;

untuk menerima email sebagai panggilan prosedur ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan nilai oci_parse

  2. jumlah maksimum level SQL rekursif (50) terlampaui

  3. Migrasi kolom Oracle DATE ke TIMESTAMP dengan zona waktu

  4. distribusi pembayaran oracle sql query

  5. Apa implikasi kinerja Oracle IN Clause tanpa bergabung?