我有表TEST_TABLE有3列COL1(数字),COL2(Varchar),COL3(日期)。 我想在两个不同的事务的匿名块中找到以下查询的结果。一个用于当前事务,另一个用于前一个事务。如何使用SCN进行操作?
BEGIN
Select col3 into v_curr_date from test_table where col1=123; --Current
uncommitted Transaction
Select col3 into v_prev_date from test_table where col1=123; --How to
modify this query to find for immediately Previous committed Transaction.
END ;
答案 0 :(得分:1)
下面将给出您在桌子上发生的最新承诺日期。 SCN_TO_TIMESTAMP将一个数字作为参数,该数字的计算结果为系统更改号(SCN),并返回与该SCN关联的大致时间戳。因此,请相应地修改您的查询。
DECLARE
v_prev_date date;
BEGIN
Select SCN_TO_TIMESTAMP(ORA_ROWSCN) into v_prev_date
from test_table where col1=123;
dbms_output.put_line(v_prev_date );
end;