Если вы создаете таблицу с помощью предложения ROWDEPENDENCIES
, вы можете использовать псевдо столбку ORA_ROWSCN
для идентификации измененных строк.
Вот таблица
SQL> create table t23
2 (name varchar2(10)
3 , id number
4 ) rowdependencies
5/
Table created.
SQL> insert into t23 values ('SAM-I-AM', 1)
2/
1 row created.
SQL> insert into t23 values ('KNOX', 2)
2/
1 row created.
SQL> insert into t23 values ('FOX', 3)
2/
1 row created.
SQL> insert into t23 values ('LORAX', 9)
2/
1 row created.
SQL> select ora_rowscn, id, rowid from t23
2/
ORA_ROWSCN ID ROWID
---------- ---------- ------------------
1 AAB72FAAEAAA+4cAAA
2 AAB72FAAEAAA+4cAAB
3 AAB72FAAEAAA+4cAAC
9 AAB72FAAEAAA+4cAAD
SQL> commit
2/
Commit complete.
SQL> select ora_rowscn, id, rowid from t23
2/
ORA_ROWSCN ID ROWID
---------- ---------- ------------------
75288125 1 AAB72FAAEAAA+4cAAA
75288125 2 AAB72FAAEAAA+4cAAB
75288125 3 AAB72FAAEAAA+4cAAC
75288125 9 AAB72FAAEAAA+4cAAD
SQL>
Не нужно совершить, чтобы получить Row SCN. Теперь давайте SOEM дальнейшие изменения и использовать ORA_ROWSCN, чтобы определить, какие строки изменились ...
SQL> update t23
2 set name = 'MR KNOX'
3 where id = 2
4/
1 row updated.
SQL> insert into t23 values ('SALLY', 6)
2/
1 row created.
SQL> commit;
Commit complete.
SQL> select ora_rowscn, id, rowid from t23
2 where ora_rowscn > 75288125
3/
ORA_ROWSCN ID ROWID
---------- ---------- ------------------
75288182 2 AAB72FAAEAAA+4cAAB
75288182 6 AAB72FAAEAAA+4cAAE
SQL>
ORA_ROWSCN
был введен в 10г. Find out more.
Вам понадобится работа, чтобы опросить таблицу для внесения изменений. Также вам нужно построить таблицу , в которой задание опроса может использовать для хранения max(ora_rowscn)
для каждого прогона.
Я ... это в основном то, к чему я пришел. Просто заходите между рядами между моим последним притяжением. – scarpacci
Уровень изоляции позволяет читать до фиксации - это далеко не идеальный способ проверки состояния таблицы. –
MAX (ROWID) не говорит вам многого и здесь недостаточно. Следующая шкала таблицы не обязательно физически сохраняется после предшествующего уровня в файле данных, и вставки могут входить в существующие блоки. Плюсы ROWID могут меняться со временем. –