Oracle
 sql >> база данни >  >> RDS >> Oracle

Вземете RowId от QueryChangeDescription

Открих, че трябва да получа RowId. От queryChangeDescription можете да получите TabeleChangeDesciptions което няма нищо общо с TableChangeDecription от събитието. Ако има промени в повече от една таблица, тези таблици са изброени в масива. Тъй като съм регистриран само в една таблица, не трябва да обикалям списъка.

След като разполагате с TableChangeDescription можете да получите RowChangeDescription за всеки променен ред. От това можете да получите RowId.

for (QueryChangeDescription queryChangeDescription : databaseChangeEvent.getQueryChangeDescription()) {
  RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription();
  for (RowChangeDescription rowChangeDescription : rowChangeDescriptions) {
    handleEvent(rowChangeDescription.getRowid());
  }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Страхотни 24 въпроса за интервю за едновременен мениджър

  2. Oracle ojdbc8 12.2.0.1 Забранено от Maven

  3. PL/SQL - Незадължителни условия в клаузата where - без динамичен sql?

  4. Решение кога да се създаде индекс на колона на таблица в база данни?

  5. Предизвикателство за тестване на база данни на Oracle – Сравнете данните за схемата