即使没有时间戳列,也可以从MySQL或Oracle服务器读取在特定时间戳之后创建的记录吗?
我必须定期从远程MySQL服务器读取数据。比如说,如果表没有时间戳列,是否有办法跟踪我已经读取的行。我只需要读取上次访问后创建的行。在Oracle中,我们可以使用SCN通过即使没有时间戳列,也可以从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
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吗?