我在groovy中有这个代码,我使用PostgreSQL来访问数据库服务器。
如果我执行此查询,它将从起始点到结束获取日志。 但是,每周都会不断添加日志,是否有可能添加到代码中的方法,我可以在代码再次运行时从中断处开始?
def logs = new Logs()
String query = "SELECT * from auditLog where created < (CURRENT_DATE)::date order by id ASC"
PreparedStatement statement = conn.prepareStatement(query)
ResultSet result = statement.executeQuery()
例如:
第1次运行:日志从12月1日到12月20日(未修复)
第二轮:日志从12月21日到12月31日(未修复)
第3次运行:1月1日至1月15日的日志(未修复)
等等....
重要的是能够从我离开的地方开始,在这种情况下是12月21日
应该通过动态
答案 0 :(得分:0)
select *
from auditLog
where '2015-12-21' < created < current_date
由于current_date
已经是date
,因此您无需投出它。请注意,created < current_date
会在今天开始之前为您提供行。
答案 1 :(得分:0)
只需将日志条目标记为已读(添加一些状态标志)并在每次阅读时更新
public function up(Schema $schema)
{
$this->addSql($sql);
}
注意:更新使用ID时,不要“更新日期&gt; ...”以避免在您阅读时添加条目的情况..