oracle 发邮件遇收信人不存在处理
loop
OPEN get_mailid;
M_MAILID_W:=null;
LOOP
FETCH get_mailid INTO m_mail_id;
EXIT WHEN get_mailid%NOTFOUND;
if M_MAILID_W is null then
M_MAILID_W:=m_mail_id;
else
M_MAILID_W:=M_MAILID_W || ',' || m_mail_id;
end if;
END LOOP;
close get_mailid;
begin
SM('TTMC_GRP@CPT',M_MAILID_W,M_Title,M_CONTENT);
exit;---when i>0;
exception
when others then
M_sqlcode:=sqlcode;
M_sqlerrm:=sqlerrm;
if M_sqlcode=-29279 then ---No such user
M_MAILID_W:=substr(m_sqlerrm,instr(m_sqlerrm,'...',1)-8,8);
delete mes_mail where mail_Id=M_MAILID_W;
commit;
ELSE
EXIT;
end if;
end;
end loop;
OPEN get_mailid;
M_MAILID_W:=null;
LOOP
FETCH get_mailid INTO m_mail_id;
EXIT WHEN get_mailid%NOTFOUND;
if M_MAILID_W is null then
M_MAILID_W:=m_mail_id;
else
M_MAILID_W:=M_MAILID_W || ',' || m_mail_id;
end if;
END LOOP;
close get_mailid;
begin
SM('TTMC_GRP@CPT',M_MAILID_W,M_Title,M_CONTENT);
exit;---when i>0;
exception
when others then
M_sqlcode:=sqlcode;
M_sqlerrm:=sqlerrm;
if M_sqlcode=-29279 then ---No such user
M_MAILID_W:=substr(m_sqlerrm,instr(m_sqlerrm,'...',1)-8,8);
delete mes_mail where mail_Id=M_MAILID_W;
commit;
ELSE
EXIT;
end if;
end;
end loop;