当 SQLITE 数据库中的记录太少时发出通知

当 SQLITE 数据库中的记录太少时发出通知

我希望当 SQLite 数据库中的库存下降到某个水平以下时收到通知。

每天,数量都会下降一定数量,晚上我会通过 cron 作业更新数据库。cron 作业的内容如下:

cat update.sql | sqlite3 database.db

我有一个.sql文件可以告诉我该重新排序了。它包含一行.output给出文件名的内容,如果还不到重新排序的时间,则文件长度为零。我可以测试该文件的大小;如果它大于零,我需要读取它,如果不大于零,我可以忽略它。将该代码移动到我的update.sql文件中非常简单,我可以编写整个“检查输出文件,测试其大小,如果它大于零则发出警报”的脚本。

我更希望避免使用脚本和中间文件,并让 sqlite 在我的每日提醒中附加一条注释。 指定的文件.output会被覆盖,因此我不能只将我的提醒文件用作.output

sqlite 中是否存在我尚未找到的解决方案?

答案1

这虽然不是我想要的 SQLite 答案,但这是我需要的。

我用Dianne Skoll 的提醒程序用于每日提醒,我记得它允许一个数据文件包含其他数据文件。所以:

  1. 在我的提醒文件中,我添加了以下行include <path_to_reminders_files>/reorder.rem
  2. 在我每天运行来更新数据库的.sql文件中,我在底部添加了以下内容:
.headers off
.output <path_to_reminders_files>/reorder.rem
SELECT "REM Time to re-order", name || '%' FROM <table_name> WHERE remaining/per_day < 30;

当某件商品的供应量只剩下三十天(或更少)时,我会得到一份需要重新订购的所有商品的清单,而 sqlite 会覆盖输出文件(而不是附加到它)这一事实对我有利。

相关内容