Heim  >  Artikel  >  Datenbank  >  So paginieren Sie in Oracle

So paginieren Sie in Oracle

PHPz
PHPzOriginal
2023-05-12 09:23:0614658Durchsuche

Oracle ist ein weit verbreitetes Datenbankverwaltungssystem, das den SQL-Sprachstandard vollständig unterstützt. In vielen Szenarien müssen wir Abfrageergebnisse auf Seiten anzeigen, um die Datenverwaltung und -anzeige zu erleichtern. Als Nächstes wird in diesem Artikel erläutert, wie Oracle Paging-Vorgänge durchführt.

1. Verwenden Sie ROWNUM zum Paging.

Oracle bietet eine ROWNUM-Funktion, die jede Zeile im zurückgegebenen Ergebnissatz als eindeutigen Wert identifizieren kann und die Nummer des Werts sequentiell beginnend mit 1 erhöht. Diese Funktion hat die folgenden Eigenschaften:

  1. Das Rückgabeergebnis enthält die Spalte ROWNUM, die zum Aufzeichnen der Zeilennummer der Datenzeile verwendet wird.
  2. Die Berechnungsregel von ROWNUM besteht darin, mit dem Zählen zu beginnen, wenn die ersten N Datenzeilen, die die Bedingungen erfüllen, nach der vom Benutzer angegebenen WHERE-Bedingung und der Sortierung ORDER BY zurückgegeben werden.
  3. Kann nur eine Wertprüfung durchführen und qualifizierte Datensatzzeilen zurückgeben und kann nicht für kontinuierliche Abfrage-Paging-Vorgänge verwendet werden.

Dann können wir Daten-Paging-Vorgänge mithilfe der ROWNUM-Funktion durchführen. Die spezifischen Implementierungsschritte lauten wie folgt:

  1. Schreiben Sie eine Abfrage-SQL-Anweisung und geben Sie die Datenergebnismenge an, die ausgelagert werden muss.
  2. Verwenden Sie die ROWNUM-Funktion basierend auf dem Abfrageergebnissatz und geben Sie die Anzahl der abzufragenden Zeilen und die Startanzahl der Zeilen an.

Zum Beispiel:

SELECT FROM (SELECT A., ROWNUM RN FROM (SELECT * FROM user_data ORDER BY user_id) A WHERE ROWNUM <= 20) WHERE RN >= 1;

In der obigen SQL -Anweisung, wobei eine Unterabfrageanweisung verwendet wird, um alle Daten aus der Tabelle user_data abzufragen und nach dem Feld user_id zu sortieren. Verwenden Sie abschließend die ROWNUM-Funktion basierend auf dem Abfrageergebnissatz und begrenzen Sie die Anzahl der im Abfrageergebnissatz zurückgegebenen Zeilen auf 20 Zeilen. Das Ergebnis der Verwendung der obigen SQL-Anweisung sind die Datensätze von Zeile 1 bis Zeile 20.

2. Verwenden Sie OFFSET...FETCH zum Paging.

Angesichts der Einschränkungen der ROWNUM-Paging-Methode bietet Oracle ab Version 12c eine neue Paging-Methode, nämlich die OFFSET FETCH-Einfügungssyntax. Im Vergleich zur ROWNUM-Funktion weist die OFFSET FETCH-Syntax folgende Merkmale auf:

  1. hängt nicht von der Zeilennummer ab, sondern vom Verarbeitungssequenzwert (OFFSET bezieht sich auf den Offset) und dem LIMIT-Wert (FETCH bezieht sich auf die Erfassung), die durch angegeben werden ON. Anzahl der Zeilen), um die Ergebnismenge zu erhalten.
  2. Kann kontinuierlich paginierte Daten abfragen, geeignet für große Datenmengen.
  3. Abfrageergebnisse mit der OFFSET FETCH-Syntax werden von WHERE- und ORDER BY-Anweisungen nicht beeinflusst.

Die spezifische Verwendung ist wie folgt:

SELECT * FROM user_data ORDER BY user_id OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY;

In der obigen SQL-Anweisung bedeutet die OFFSET 0 ROWS FETCH NEXT 20 ROWS Only-Syntax, dass die angegebene Der Offset ist Zeile 0, es werden 20 Zeilen Datensatz abgerufen.

Zusammenfassung:

Oracle bietet zwei Paging-Datenabfragemethoden: ROWNUM-Funktion und OFFSET FETCH-Syntax. Die ROWNUM-Funktion eignet sich für Situationen, in denen die Datenmenge gering ist und der Paging-Vorgang nur einmal durchgeführt werden muss. Die OFFSET FETCH-Syntax eignet sich für Situationen, in denen die Datenmenge groß ist und mehrere Paging-Operationen kontinuierlich abgefragt werden müssen.

Das obige ist der detaillierte Inhalt vonSo paginieren Sie in Oracle. 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
Vorheriger Artikel:Oracle-Verbindung löschenNächster Artikel:Oracle-Verbindung löschen