von MarkusB » So 29. Aug 2010, 13:42
Hallo Günther,
Die RowId ist eine Pseudospalte in Oracle, die sich bei jedem UPDATE ändert um „Optimistic Locking“ zu realisieren. Sie macht jede Zeile in einer Tabelle einzigartig.
Anhand eines Beispiels versuch ich dir mal die RowId zu erklären.
Wenn der Mitarbeiter A einen Datensatz öffnet und dann in die Mittagspause geht, haben natürlich auch alle anderen Mitarbeiter die Möglichkeit, den Datensatz zu ändern.
Wird nun der Datensatz von Mitarbeiter B geändert, so ändert sich automatisch die RowId. Wenn nun der Mitarbeiter A aus der Pause zurückkehrt und den Datensatz ändern möchte, kann anhand der RowId festgestellt werden, ob Mitarbeiter A überhaupt noch über den aktuellen Datensatz verfügt. Wenn nicht dann würde eine Message-Box dem Mitarbeiter A erklären, dass der Mitarbeiter A keinen aktuellen Datensatz mehr besitzt.