我尝试使用以下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语法在特定表中检测新插入时获取整个条目是什么?
答案 0 :(得分:0)
您想要的内容听起来像更改数据捕获(CDC),您只需要在上次查询表格后更改的内容。
要做到这一点,你需要一种方法: 1.标记已更改的行 2.标记已存在的行
唯一的方法是: 1.保留表的副本,以便将其与正在更新/插入的表进行比较。 2.使用表中的审计列,例如date_inserted,last_modified等,并在上次查看表之后拉出包含日期的行。 3.将正在更新的表实现为缓慢变化的维度。