ROWID und ROWNUM werden in Oracle verwendet, um Zeilen in einer Tabelle zu identifizieren: ROWID: Eine eindeutige physische Kennung, die den Speicherort der Zeile auf der Festplatte identifiziert und sich auch dann nicht ändert, wenn die Zeile aktualisiert wird. ROWNUM: Pseudospalte, die die Zeilennummer der Zeile im Abfrageergebnissatz angibt, beginnend bei 1, sich mit der Reihenfolge der Zeilen ändert und zurückgesetzt wird, wenn die Zeile hinzugefügt oder gelöscht wird.
Die Unterschied zwischen Rowid und Rownum in Oracle
rowid und Rownum sind zwei verschiedene Schlüsselwörter der Oracle -Tabelle, die zur Identifizierung von Zeilen in der Tabelle verwendet werden:
-
Rowid: a einzigartig, intern, verwalteter Bezeichner, der jede Zeile einer Tabelle in der Datenbank identifiziert.
-
ROWNUM: Eine Pseudospalte, die die Zeilennummer der aktuellen Zeile in der Abfrage zurückgibt, nummeriert beginnend bei 1.
Detaillierte Erklärung
ROWID
- ROWID ist eine physische Kennung, die die Position einer Zeile in einem Datenblock auf der Festplatte darstellt.
- ROWID ist in der gesamten Datenbank eindeutig, auch für verschiedene Zeilen in derselben Tabelle.
- ROWID ändert sich nicht, wenn Zeilen eingefügt, gelöscht oder aktualisiert werden, es sei denn, die Tabelle wird neu organisiert.
ROWNUM
- ROWNUM ist ein logischer Bezeichner, der die relative Position einer Zeile im Abfrageergebnissatz darstellt.
- ROWNUM ist innerhalb derselben Abfrageergebnismenge eindeutig, aber verschiedene Abfrageergebnismengen können unterschiedliche ROWNUM-Werte für dieselbe Zeile zurückgeben.
- ROWNUM ändert sich mit der Reihenfolge der Zeilen im Abfrageergebnissatz und kann zurückgesetzt werden, wenn Zeilen hinzugefügt, gelöscht oder aktualisiert werden.
Verwendung
ROWID:
- Für Vorgänge, bei denen Zeilen über verschiedene Sitzungen oder Transaktionen hinweg eindeutig identifiziert werden müssen.
- Wenn Zeilen physisch aus der Datenbank abgerufen werden müssen.
ROWNUM:
- Für Vorgänge, die basierend auf der Reihenfolge der Zeilen ausgeführt werden müssen.
- Wenn der Abfrageergebnissatz sortiert oder paginiert werden muss.
Beispiel
<code>SELECT ROWID, ROWNUM FROM table_name;</code>
Nach dem Login kopieren
Ergebnisse:
ROWID |
ROWNUM |
AAAA2JDABAAAL4Q4AAAEAAAQ | 1 |
AAAA2JDABAAAL4Q5AAEAARQ |
2 |
AAAA2JDABAAAL4Q6AAEAA6Q |
3 |
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Rowid und Rownum in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!