Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách tốt nhất để nhận email sau khi đồng thời không thành công (sql - trigger - application)

Bạn có thể sử dụng đường ống đôi (|| ) dưới dạng toán tử nối và lọc kết quả theo loại trạng thái mong muốn của bạn được liệt kê trong dấu ngoặc đơn sau IN toán tử cho truy vấn.

Tạo một thủ tục và đưa truy vấn của bạn vào đó dưới dạng con trỏ và sử dụng utl_http gói trong quy trình đó như sau:

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;

để nhận e-mail khi gọi thủ tục này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu lịch sử của các truy vấn SQL

  2. Tạo một hàm để trả về ngày và giờ hiện tại trong oracle

  3. Thay đổi cổng Oracle từ cổng 8080

  4. Làm thế nào để hiểu số liệu thống kê của tệp theo dõi trong Oracle. Chẳng hạn như CPU, thời gian đã trôi qua, truy vấn ... vv

  5. Làm thế nào để kiểm tra bất kỳ số nào bị thiếu trong một dãy số?