oracle 发送通知的函数[已关闭]

at0kjp5o  于 2023-08-04  发布在  Oracle
关注(0)|答案(1)|浏览(90)

已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。

23天前关闭
Improve this question
我想在每个员工的合同结束前三个月给他们发一条信息
我试着这样做:

select hire_date from the emp table

字符串
并将其与系统日期进行比较,如果租用日期比合同终止日期短3个月,则发送终止通知,如果

eit6fx6z

eit6fx6z1#

这不应该是一个函数,而是一个**过程。举例来说:

create or replace procedure p_end_of_contract_mail is
begin
  for cur_r in (select e_mail
                from emp
                where months_between(trunc(sysdate), end_of_contract_date) = 3
               ) 
  loop
  apex_mail.send(
    p_to   => cur_r.e_mail,
    p_from => 'noreply@my_application.com',
    p_body => 'Your contract ends in 3 months',
    p_subj => 'End of contract');
    
  apex_mail.push_queue;
end;
/

字符串
你可以安排它每天运行,并在需要的时候自动发送邮件。

begin
   dbms_scheduler.create_job ( 
    job_name        => 'end_of_contract', 
    job_type        => 'PLSQL_BLOCK', 
    job_action      => 'p_end_of_contract_mail;',
    start_date      => SYSTIMESTAMP, 
    enabled         => true, 
    repeat_interval => 'FREQ=DAILY; INTERVAL=1'
   ); 
end;
/

相关问题