【问题标题】:sql statment in email messge utl_mail.send电子邮件 utl_mail.send 中的 sql 语句
【发布时间】:2019-10-11 06:23:17
【问题描述】:

我正在发送电子邮件,真正的 oracle apex 工作正常。然而,我需要的是在电子邮件的消息中包含一个 sql count 语句。

我拥有的是

begin
   utl_mail.send(sender     => 'a@test.com',
                  recipients =>'a@test.com',
                  subject    => 'FileRequest',
                  message    =>  'select count(filenumber) where status is assigned' files from registry '||:p5_filenumber ||''||'  ' ||:p5_filename || ' has now been assigned to the ' || :p5_department || '');

end;

这显然是行不通的

我想看到的是

begin
   utl_mail.send(sender     => 'a@test.com',
                  recipients =>'a@test.com',
                  subject    => 'FileRequest',
                  message    =>  5 files from registry '||:p5_filenumber ||''||'  ' ||:p5_filename || ' has now been assigned to the ' || :p5_department || '');

end;

【问题讨论】:

    标签: oracle oracle11g oracle-apex oracle-apex-5


    【解决方案1】:

    在发送邮件之前计算值。像这样的:

    declare
      l_cnt number;
      l_msg varchar2(200);
    begin
      -- select number you're interested in
      select count(*)
        into l_cnt
        from some_table
        where some_conditions;
    
      -- compose the message
      l_msg := l_cnt ||' files from registry ...';
    
      -- send mail
      utl_mail.send(sender     => 'a@test.com',
                    recipients => 'a@test.com',
                    subject    => 'FileRequest',
                    message    =>  l_msg);
    end;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2015-08-06
      • 1970-01-01
      相关资源
      最近更新 更多