sql >> Databasteknik >  >> RDS >> Oracle

Hämta RowId från QueryChangeDescription

Jag upptäckte att det var att skaffa RowId. Från queryChangeDescription du kan få TabeleChangeDesciptions som inte har något gemensamt med TableChangeDecription från händelsen. Om det finns ändringar på mer än en tabell, är dessa tabeller listade i arrayen. Eftersom jag bara är registrerad i en tabell behöver jag inte iterera över listan.

Efter att ha använt TableChangeDescription du kan få RowChangeDescription för varje ändrad rad. Från detta kan du hämta RowId.

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



  1. Array av sammansatt typ som lagrad procedurinmatning som skickas av C# Npgsql

  2. Reverse Engineering en datamodell med Oracle SQL Developer

  3. skalär underfråga i if-satsen Condition i PL/SQL

  4. Hur beräknar jag veckan på året i Oracle med en icke-standardiserad första dag i veckan?