ダブルパイプを使用できます( ||
)連結演算子として、 IN
の後に括弧で囲まれた目的のステータスタイプで結果を除外します。 クエリの演算子。
プロシージャを作成し、クエリをカーソルとしてそのプロシージャに取り込んで、<を使用します。 code> utl_http その手順内で以下のようにパッケージ化します:
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;
この手順を呼び出すときに電子メールを受信するため。