Heim  >  Artikel  >  Datenbank  >  Was ist die Verwendung von Rownum in Orakel?

Was ist die Verwendung von Rownum in Orakel?

WBOY
WBOYOriginal
2022-01-20 16:44:3615534Durchsuche

In Oracle ist rownum eine von Oracle eingeführte virtuelle Spalte. Sie wird nur verwendet, um die Gesamtzahl der von der Abfrage zurückgegebenen Zeilen zu begrenzen und die Anzahl der von der Abfrage zurückgegebenen Zeilen zuzuweisen von 1 und so weiter. Und rownum kann nicht der Name einer Tabelle vorangestellt werden.

Was ist die Verwendung von Rownum in Orakel?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.

Was ist die Verwendung von Rownum in Oracle? Bei Rownum handelt es sich um die Nummer, die das Oracle-System nacheinander den von der Abfrage zurückgegebenen Zeilen zuweist. Der ersten zurückgegebenen Zeile wird 1 zugewiesen, der zweiten Zeile ist 2 usw. Dieses Pseudofeld kann verwendet werden, um die Gesamtzahl der von der Abfrage zurückgegebenen Zeilen zu begrenzen, und rownum kann nicht der Name einer Tabelle vorangestellt werden.

rownum ist eine von Oracle eingeführte virtuelle Spalte.

Diese virtuelle Spalte existiert nicht physisch, sie wird nur während der Abfrage erstellt. Pseudospalten sind in der Regel frei belegt und können vom Benutzer nicht verändert werden.


Eigenschaften

Über Rownum gibt es die folgenden Hauptmerkmale:

1) Rownum gehört zu keiner Tabelle.

2) Voraussetzung für die Existenz von Rownum ist die Ergebnistabelle.

3) Rownum beginnt immer bei 1.

4) rownum wird generell nur mit

5) Die Verwendung von Rownum für Paging-Abfragen erfordert die Konvertierung von Rownum in eine echte Spalte und die Abfrage von Rownum.

2. Mechanismusprinzip

Die Verwendung von Rownum mag seltsam erscheinen, aber in Wirklichkeit ist es sehr einfach, wenn Sie das Mechanismusprinzip verstehen.

Machen wir zunächst ein einfaches Experiment: Nehmen Sie alle Felder aus der Doppeltabelle und die Zeilennummer heraus.

Wenn wir die folgende Schreibmethode verwenden: t.rownum

Was ist die Verwendung von Rownum in Orakel?Wenn wir auf diese Weise ausführen, wird ein Fehler 01747 gemeldet:

Was ist die Verwendung von Rownum in Orakel?Denn tatsächlich existiert das Rownum-Feld nicht in der Dualtabelle , daher können wir das t.rownum-Format nicht verwenden.

Die richtige Schreibweise sollte sein:

Was ist die Verwendung von Rownum in Orakel?Rownum ist also eine virtuelle Spalte und gehört zu keiner Tabelle.

Woher kommt also diese virtuelle Kolumne? Zum besseren Verständnis führen wir ein einfaches Experiment durch:

Wie folgt haben wir eine einfache Tabelle: test_ljb mit insgesamt zehn Datensätzen.

Wir fügen Rownum hinzu.

Die Ergebnisse sind wie folgt, leicht zu verstehen. Zehn Datensätze werden ausgewählt, die Anzahl reicht von 1 bis 10

Was ist die Verwendung von Rownum in Orakel?Wir fügen eine Gehaltsfilterbedingung hinzu:

Was ist die Verwendung von Rownum in Orakel?Die Ergebnisse sind wie folgt: Drei Datensätze werden ausgewählt , Rownum reicht von 1 bis 10 3

Was ist die Verwendung von Rownum in Orakel?Es ist zu beachten, dass der Mitarbeiter, der Rownum in der zweiten Ergebnistabelle entspricht, nicht dem ersten entspricht.

Zum Beispiel: Wenn die Zeilennummer der ersten Tabelle 1 ist, entspricht sie Arvin und die zweite Tabelle entspricht Oracle.

Der Grund ist wie folgt:

Weil Rownum eine Pseudospalte ist, die der Ergebnismenge hinzugefügt wird, dh eine Spalte, die hinzugefügt wird, nachdem die Ergebnismenge zuerst gefunden wurde.

Einfach ausgedrückt ist Rownum die Sequenznummer der Ergebnisse, die die Bedingungen erfüllen. Es beginnt immer bei 1, daher ist es unmöglich, dass das ausgewählte Ergebnis 1 überspringt und andere Werte größer als 1 hat.

Mit anderen Worten, Rownum ist dynamisch und ändert sich in Echtzeit entsprechend der neuen Ergebnismenge.

Empfohlenes Tutorial: „

Oracle Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von Rownum in Orakel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn