Einführung in PL / SQL-Sammlungen

Wie andere moderne Programmiersprachen bietet auch PL / SQL Programmierern die Möglichkeit, PL / SQL-Sammlungen zu verwenden. Allgemein ausgedrückt ist die Sammlung eine Datenstruktur mit einer geordneten Gruppe von Elementen desselben Datentyps, und auf diese Elemente wird über Indizes gemäß den spezifischen Anforderungen zugegriffen. Häufig verwendete Sammlungen in den meisten Programmiersprachen sind Arrays, Set, List und Queue usw.

Die PL / SQL-Sammlung bietet sowohl dem Programmierer als auch dem Benutzer viele Vorteile beim Speichern und Zugreifen auf Daten mit ähnlichen Datentypen in einer Anwendung. Wenn die Daten auf einmal verarbeitet werden müssen oder eine große Datenmenge verarbeitet werden muss, sind PL / SQL-Sammlungen sehr nützlich. Außerdem werden Größe und Verarbeitungsgeschwindigkeit reduziert, während die Daten gespeichert werden und auf die Elemente zugegriffen wird. Auf die Elemente in Auflistungen kann problemlos über Schleifen und Indizes zugegriffen werden. Im Gegensatz zu Arrays in anderen Programmiersprachen unterstützt PL / SQL nur eindimensionale Sammlungen, und die Daten in den Sammlungen werden durch die Indizes identifiziert (in anderen Sprachen auch als Index bezeichnet). Jedes Element wird über diesen eindeutigen Index aufgerufen und verarbeitet.

Arten von PL / SQL-Sammlungen

Es gibt drei Arten von PL / SQL-Auflistungen, die nachfolgend mit Syntax angegeben werden:

Geschachtelte Tabellen

Eine verschachtelte Tabelle ist eine PL / SQL-Auflistung, in der die Größe nicht festgelegt ist. Es ist also wie ein eindimensionales Array, mit der Ausnahme, dass die Größe in Arrays festgelegt ist und es sowohl dicht als auch dünn sein kann. Der Programmierer muss den Speicher jedes Mal erweitern, bevor er ihn mit EXTEND Subscript in der verschachtelten Tabelle verwendet. Beginnt mit einer Ganzzahl '1'.

Geschachtelte Tabellen gehören zu den persistenten PL / SQL-Auflistungen. Dies bedeutet, dass sie weiter verwendet werden können, wenn sie in der Datenbank gespeichert sind. Der Programmierer kann auch ein Array-Element löschen und die Tabelle dünn machen, was bedeutet, dass geschachtelte Tabellen sowohl dicht als auch dünn sein können. Die geschachtelten Tabellen können entweder innerhalb des PL / SQL-Blocks oder auf Schemaebene deklariert werden.

Da es in verschachtelten Tabellen keine Obergrenze für die Größe gibt, fallen sie unter die Kategorie "Ungebundene PL / SQL-Auflistungen".

Syntax:

TYPE typ_name IS table of element_data_type;
Table_name typ_name;

Arrays mit variabler Größe oder VARRAYs

VARRAY ist die PL / SQL-Auflistung, in der die Größe der Auflistung wie in ihrer Definition definiert festgelegt ist, sodass VARRAYs als gebundene Elemente in Arrays bezeichnet werden. VARRAYs werden ab dem Index 1 nacheinander gefüllt nur. Der Programmierer kann also kein Element zwischen den Elementen löschen. Entweder wird das gesamte Feld gelöscht oder es kann am Ende abgeschnitten werden. Auf Varrays muss nacheinander zugegriffen und gespeichert werden. Sie kann entweder innerhalb des PL / SQL-Blocks oder auf Schemaebene definiert werden. Wie verschachtelte Tabellen gehören auch Varrays zur Kategorie der persistenten Sammlungen, sodass sie wiederverwendet und in der Datenbank gespeichert werden können.

Syntax:

TYPE typ_name IS VARRAY OF element_data_type;

Assoziative Arrays

Wie der Name schon sagt, werden assoziative Arrays verwendet, um die Werte in Schlüssel-Wert-Paaren zu speichern. Der verwendete Schlüssel kann ein String- oder ein Integer-Typ sein. Assoziative Arrays werden auch als Index-by-Tabelle bezeichnet. Diese Sammlung kann entweder dicht oder dünn sein. In assoziativen Arrays ist die Arraygröße beim Start nicht festgelegt und der Programmierer muss sie nicht initialisieren, bevor er sie verwendet. Ein assoziatives Array fällt unter die Kategorie der nicht persistenten Sammlungen, was bedeutet, dass sie nicht in der Datenbank gespeichert sind und nicht wiederverwendet werden können, sodass sie im PL / SQL-Block definiert sind und nur in dieser bestimmten Sitzung verwendet werden. Diese Arrays gehören zur Kategorie der unbegrenzten Sammlungen.

Syntax:

TYPE typ_name IS TABLE OF element_data_type;

Sammelmethoden

PL / SQL bietet einige vordefinierte Methoden, um die Arbeit mit Sammlungen zu vereinfachen. Einige der Methoden sind unten angegeben:

S.No.MethodennameBeschreibung
1.ANZAHLEs gibt die Anzahl der in der Auflistung vorhandenen Elemente zurück
2.ZUERSTEs gibt die kleinste (erste) Indexnummer in der Auflistung für Ganzzahl-Indizes zurück
3.ZULETZTEs gibt die größte (letzte) Indexnummer in der Auflistung für Ganzzahl-Indizes zurück.
4.EXISTEN (n)Es wird verwendet, um zu überprüfen, ob ein bestimmtes Element in der Auflistung vorhanden ist oder nicht. Es gibt TRUE zurück, wenn die n-ten Elemente in der Auflistung vorhanden sind, andernfalls FALSE.
5.VORHER (n)Es gibt die Indexnummer zurück, die der Vorgänger des vom Benutzer in der Auflistung angegebenen Index (n) ist.
6.NÄCHSTER (n)Es gibt die Indexnummer zurück, die der Nachfolger des vom Benutzer in der Auflistung angegebenen Index (n) ist.
7.TRIMMENEs wird verwendet, um Elemente aus der Auflistung zu entfernen. TRIM entfernt das letzte Element aus der Auflistung und TRIM (n) entfernt das letzte n-Element aus dem Ende der Auflistung.
8.LÖSCHENEs wird verwendet, um alle Elemente aus der angegebenen Sammlung zu entfernen. Es setzt die Sammlungsanzahl auf 0, nachdem alle Elemente entfernt wurden
9.LÖSCHEN (m, n)Es wird im Fall von assoziativen Arrays und indizierten Tabellen verwendet, um alle Elemente im Bereich von m bis n zu entfernen. Es gibt null zurück, wenn m größer als n ist.
10.GRENZEEs wird verwendet, um die maximale Größe der Sammlung zu überprüfen.

Sammlungsausnahmen

Im Folgenden sind einige der Ausnahmen aufgeführt, die bei der Arbeit mit Sammlungen am wahrscheinlichsten auftreten.

AusnahmenameEin Szenario, in dem Ausnahmen auftreten
KEINE DATEN GEFUNDENEine Ausnahme entsteht, wenn ein Index auf ein Element verweist, das gelöscht wurde und nicht mehr existiert.
VALUE_ERRORDie Ausnahme tritt auf, wenn der Wert von Spalten, auf die zugegriffen werden soll, nicht in den Schlüsseltyp konvertierbar ist oder wenn ein Index null ist
COLLECTION_IS_NULLAusnahmen ergeben sich bei der Arbeit an einer automatisch leeren Sammlung
SUBSCRIPT_BEYOND_CO UNTEine Ausnahme tritt auf, wenn ein Index die maximale Anzahl von Elementen in der Auflistung überschreitet.
SUBSCRIPT_OUTSIDE_LIM ITDie Ausnahme tritt auf, wenn versucht wird, auf die Indexnummer zu verweisen, die außerhalb des zulässigen Bereichs liegt.
TOO_MANY_ROWSEine Ausnahme tritt auf, wenn eine SELECT into-Anweisung mehr als eine Zeile zurückgibt.

Vorteile von Sammlungen in PL / SQL

Einige der Vorteile von PL / SQL-Sammlungen sind nachfolgend aufgeführt:

  • Außerdem besteht einer der größten Vorteile von Sammlungen darin, dass die Systemleistung verbessert wird, indem die statischen Daten zwischengespeichert werden, auf die regelmäßig zugegriffen werden muss.
  • Am wichtigsten ist, dass Sammlungen hilfreich sind, wenn Sie mit einem großen Dataset mit demselben Datentyp arbeiten, für den der Benutzer mehrere DML-Vorgänge ausführen muss.
  • Durch die Verwendung einer Erfassungsvariablen können wir die Anzahl der Variablen reduzieren, die zum Speichern unterschiedlicher Werte und damit zum Speichern des Speichers verwendet werden.
  • Durch die bereits bereitgestellten PL / SQL-Erfassungsmethoden ist es einfach, verschiedene Vorgänge wie das Speichern und Verarbeiten von Daten auszuführen.

Fazit

Durch die obige Beschreibung erhalten Sie möglicherweise eine Vorstellung davon, was die PL / SQL-Auflistung ist und welche Methoden in den PL / SQL-Auflistungen verwendet werden können. Bevor Sie einen PL / SQL-Auflistungstyp im Programm verwenden, müssen Sie sich zunächst eingehend mit dem Szenario befassen, bevor Sie einen Typ auswählen. Obwohl das Arbeiten in PL / SQL-Sammlungen nicht schwierig ist, können an verschiedenen Stellen Ausnahmen auftreten, die dem Programmierer bekannt sein müssen und mit denen er umgehen kann.

Empfohlene Artikel

Dies ist eine Anleitung zu PL / SQL-Sammlungen. Hier werden Syntax, Typen, Methoden und Ausnahmen von PL / SQL-Auflistungen sowie deren Vorteile erläutert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Cursor in PL / SQL
  2. CASE-Anweisung in PL / SQL
  3. Fragen zu Oracle PL / SQL-Vorstellungsgesprächen
  4. PL / SQL-Befehle