【问题标题】:PL/SQL That runs on 30th of every month每个月 30 日运行的 PL/SQL
【发布时间】:2017-01-22 06:13:47
【问题描述】:

我正在为一个库类型项目开发数据库。 我有这些表格,我需要从中获取数据:书籍、报告、文章。 顺便说一句,使用 oracle。

我需要在每个月 30 日(或最后一天)运行的东西(触发器或过程或其他东西),然后它将分析这 3 个表(书籍、报告、文章)中每个文件的创建日期) 并且如果日期早于 sysdate - 5 年,则应显示一条消息,其中包含该文件的详细信息(名称、日期、作者)。

【问题讨论】:

  • 二月呢?它没有第30个。这个月的最后一天(或倒数第二个)可以吗?
  • 我知道,我建议应该更改它,但我被告知要在每个月的 30 号工作。
  • 你问你应该使用什么? dbms_scheduler() 怎么样?
  • “应该出现一条消息” - 在哪里? dbms_scheduler 允许您以指定的时间间隔运行作业。你在这份工作中所做的事就是你的事。

标签: oracle plsql triggers procedure


【解决方案1】:

您提到消息应该显示该文件的详细信息(名称、日期、作者)我不确定应该出现在哪里。

我仍然会给出解决这个问题的方法,你可以在 oracle 中编写一个过程/函数,它将这样的记录(名称,日期,作者)写入一个日志表,你可以从中查看所有详细信息,你也可以向表中添加创建日期、时间戳字段(如果要根据日期提取记录)。您可以在每个月的最后一天使用 DBMS_SCHEDULER 运行过程/函数。希望这种方法有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2013-03-12
    • 2012-11-11
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多