Postgres:如何让SELECT检测特定表中的新插入

时间:2017-11-09 13:47:07

标签: java sql database postgresql jdbc

我尝试使用以下Java代码执行SQL查询(SELECT操作):

ResultSet resultSet = statement.executeQuery("SELECT * FROM tasks");
while (resultSet.next()) {
    while (1) {
        //loop infinitely until a worker executes the task
    }
}

但是当添加新任务时,这是低效的,因为SELECT无法检测到新的更改。

那么,Postgres SQL语法在特定表中检测新插入时获取整个条目是什么?

1 个答案:

答案 0 :(得分:0)

您想要的内容听起来像更改数据捕获(CDC),您只需要在上次查询表格后更改的内容。

要做到这一点,你需要一种方法: 1.标记已更改的行 2.标记已存在的行

唯一的方法是: 1.保留表的副本,以便将其与正在更新/插入的表进行比较。 2.使用表中的审计列,例如date_inserted,last_modified等,并在上次查看表之后拉出包含日期的行。 3.将正在更新的表实现为缓慢变化的维度。