即使没有时间戳列,也可以从MySQL或Oracle服务器读取在特定时间戳之后创建的记录吗?

即使没有时间戳列,也可以从MySQL或Oracle服务器读取在特定时间戳之后创建的记录吗?,mysql,oracle,rdbms,Mysql,Oracle,Rdbms,我必须定期从远程MySQL服务器读取数据。比如说,如果表没有时间戳列,是否有办法跟踪我已经读取的行。我只需要读取上次访问后创建的行。在Oracle中,我们可以使用SCN通过ora_rowscn伪列来解决这个问题。这允许我们确定行何时更新。还有一个整洁的scn\u to\u timestamp()函数 Select scn_to_timestamp(ora_rowscn), t.* from your_table t where t.id = 23; 这只是大概的时间,因为默认情况下Ora

我必须定期从远程MySQL服务器读取数据。比如说,如果表没有时间戳列,是否有办法跟踪我已经读取的行。我只需要读取上次访问后创建的行。

在Oracle中,我们可以使用SCN通过
ora_rowscn
伪列来解决这个问题。这允许我们确定行何时更新。还有一个整洁的
scn\u to\u timestamp()
函数

Select scn_to_timestamp(ora_rowscn),
   t.*
from your_table t
where t.id = 23;

这只是大概的时间,因为默认情况下Oracle在块级别跟踪SCN。如果表启用了行级依赖关系,则可以在较低的粒度级别获取SCN

在Oracle中,我们可以使用SCN通过
ora_rowscn
伪列来解决这个问题。这允许我们确定行何时更新。还有一个整洁的
scn\u to\u timestamp()
函数

Select scn_to_timestamp(ora_rowscn),
   t.*
from your_table t
where t.id = 23;

这只是大概的时间,因为默认情况下Oracle在块级别跟踪SCN。如果表启用了行级依赖关系,则可以在较低的粒度级别获取SCN

如果表在Oracle中,一种方法是启用闪回查询,然后您可以执行以下操作:

SELECT *
FROM   your_table t
WHERE  NOT EXISTS (
  SELECT 1
  FROM   your_table AS OF TIMESTAMP SYSTIMESTAMP - INTERVAL '10' MINUTE x
  WHERE  t.primary_key_column = x.primary_key_column
);

如果表在Oracle中,一种方法是启用闪回查询,然后您可以执行以下操作:

SELECT *
FROM   your_table t
WHERE  NOT EXISTS (
  SELECT 1
  FROM   your_table AS OF TIMESTAMP SYSTIMESTAMP - INTERVAL '10' MINUTE x
  WHERE  t.primary_key_column = x.primary_key_column
);

你能在那张表上写个id吗?你能在那张表上写个id吗?