Wozu dient die ROWID?

Oracle Database Express-Enterprise Edition, PL-SQL

Wozu dient die ROWID?

Beitragvon GüntherHa » Do 26. Aug 2010, 14:57

Hallöchen zusammen,

ich bin gerade am programmieren und stelle fest, das ORACLE eine RowID hat.
Jetzt ist meine Frage, wozu man diese Spalte braucht?
Und was man dort speichern kann?

Gruß
Günther
GüntherHa
 
Beiträge: 14
Registriert: Di 24. Aug 2010, 15:31

Re: Wozu dient die ROWID?

Beitragvon 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.
MarkusB
Administrator
 
Beiträge: 14
Registriert: So 22. Aug 2010, 21:24

Re: Wozu dient die ROWID?

Beitragvon GüntherHa » Mo 30. Aug 2010, 22:23

@MarkusB

mhhhhhhhhhhh ok,
dass klingt ziemlich kompliziert.

Die Benutzung dieser Spalte (RowId) habe ich so langsam begriffen.

Gibt es irgendwelche Richtlinien, die die Zugriffsarten der Benutzer festlegen?
Also ich meine Regeln, die dem Programmierer vorschreiben wie er zu programmieren hat.
Und was ist dieses "Optimistic Locking"?
GüntherHa
 
Beiträge: 14
Registriert: Di 24. Aug 2010, 15:31


Zurück zu Oracle

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron