Oracle Apex - 每周自动发送电子邮件

Oracle Apex - Automatic Weekly Email

我有一个 updatable(并且不断变化)table 看起来像这样(简化):

我正在尝试创建一个自动化流程来将信息发送给 table 上的用户。 我知道如何发送电子邮件但不确定如何创建流程,因为 Apex Automations 仅使用 SQL 或 PL/SQL 函数。 我也知道我们可以使用 'subscriptions' 和交互式报告,但它会向所有用户发送完整的报告。 关于如何实现这一点有什么想法吗?

谢谢!

我会创建一个 存储过程 来读取 table 并发送电子邮件。

然后安排使用DBMS_SCHEDULER内置程序包的程序。

换句话说,就此避免使用 Apex;让数据库自己处理它。

使用 pl/sql 块循环遍历 table 并为每个条目(或每个不同的电子邮件地址)发送和发送电子邮件。这看起来像这样:

DECLARE
BEGIN
  FOR r IN (SELECT * FROM <your_table) LOOP
    apex_mail.send(p_to => r.email
                   ...--other parameters for apex_mail.send
  END LOOP;
END; 

此块可用作 Apex 自动化的来源 - 在这种情况下,您可以将自动化安排为每周 运行。或者,您可以将代码放在一个过程中(可选地放在一个包中)并使用 dbms_scheduler

安排它

请注意,可以在您的 apex 应用程序中定义电子邮件模板,这是创建和维护自动电子邮件文本的更简单方法。 apex_mail.send 将模板 ID 作为参数 (docs)

有几个博客展示了如何执行此操作。这是 blog 显示如何使用自动化发送基于 emp/dept 示例数据集的提醒电子邮件。