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.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.
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.Ü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. MechanismusprinzipDie 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
Wenn wir auf diese Weise ausführen, wird ein Fehler 01747 gemeldet:
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:
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
Wir fügen eine Gehaltsfilterbedingung hinzu:
Die Ergebnisse sind wie folgt: Drei Datensätze werden ausgewählt , Rownum reicht von 1 bis 10 3
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 TutorialDas 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!