Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erstellen Sie VARRAYs als PL/SQL-Blockmitglied in der Oracle-Datenbank

Heute werden wir eine praktische Demonstration durchführen, um zu lernen, wie man ein VARRAY in der Oracle-Datenbank erstellt. Besuchen Sie also das letzte Tutorial für alle notwendigen Theorien zu VARRAYs. Wie immer werde ich versuchen, das Beispiel so einfach wie möglich zu halten. Wenn Sie also neu in der Programmierung sind, machen Sie sich keine Sorgen, ich habe Sie!

Zuvor haben wir in der Einführung zu PL/SQL-VARRAYs besprochen, dass wie verschachtelte Tabellen-VARRAYs erstellt werden können

  • Als Mitglied von PL/SQL Block und
  • Als Datenbankobjekt.

Heute lernen wir, wie man VARRAYs als Mitglied eines PL/SQL-Blocks erstellt, und überlassen den Rest den zukünftigen Tutorials.

Schritt 1:Varray innerhalb des PL/SQL-Blocks definieren

Sie können ein varray nur innerhalb des Deklarationsabschnitts eines PL/SQL-Blocks definieren.

 	SET SERVEROUTPUT ON;
	DECLARE
	    TYPE inBlock_vry IS VARRAY (5) OF NUMBER;

Im obigen Code haben wir ein VARRAY erstellt und es inBlock_vry benannt. Dieses varray kann 5 Elemente des Datentyps Number enthalten.

Schritt 2:Varray initialisieren

Die Initialisierung eines varray kann einfach mit der Collection-Variablen erfolgen. Um das VARRAY zu initialisieren, definieren wir zuerst eine Sammelvariable und verwenden sie dann zum Initialisieren.

vry_obj inBlock_vry  :=  inBlock_vry();

Im obigen Code haben wir eine Sammlungsvariable mit dem Namen vry_obj erstellt und diese verwendet, um das varray inBlock_vry zu initialisieren.

Info:
Einige Bücher beziehen sich auf Sammlungsvariable als Sammlungsobjekt, also lassen Sie sich bitte nicht verwirren, da beide gleich sind .

Schritt 3:Einfügen von Daten in das VARRAY

Das Einfügen von Daten in das varray ist dem Einfügen von Daten in das Array einer anderen Programmiersprache sehr ähnlich. Sie können Daten entweder direkt in jede Zelle des Arrays einfügen, indem Sie die Indexnummer verwenden, oder Sie können LOOP verwenden, um das Array zu füllen.

Einfügen von Daten in das VARRAY unter Verwendung des Index der Zelle

Wie wir wissen, besteht die Struktur einer PL/SQL-Zellsammlung aus einer Zelle mit einem Index namens Index. Wir können diesen Index verwenden, um die Daten in das varray einzufügen.

	BEGIN
		vry_obj.EXTEND(5); 
		vry_obj(1):= 10*2;
		DBMS_OUTPUT.PUT_LINE(vry_obj(1));    
	END;
	/

Ausführungsabschnitt -1

Im obigen Code haben wir den Ausführungsabschnitt des PL/SQL-Blocks geschrieben. Es besteht aus 3 ausführbaren Anweisungen. Diese drei Anweisungen sind –

Zeile 6:Anweisung 1

Die erste Anweisung ist ein EXTEND-Prozeduraufruf. In dieser Anweisung weisen wir den Speicher jeder Zelle von VARRAY zu, indem wir die EXTEND-Prozedur verwenden.

Zeile 7:Anweisung 2

In der zweiten Anweisung weisen wir der ersten Zelle des Arrays (Zelle mit der Indexnummer 1) einen numerischen Wert (ein Wert, der von einem arithmetischen Multiplikationsausdruck abgeleitet wird) zu.

Info:
In der PL/SQL-Sammlung beginnt die VARRAY-Indexnummer der Zelle mit 1, während die Indexnummer der Zellen im Array mit 0 beginnt.

Zeile 8:Anweisung 3

Die dritte Anweisung ist eine Ausgabeanweisung, bei der wir den Wert, den wir in der 1-Zelle von VARRY gespeichert haben, dem Benutzer zurückgeben.

Auf diese Weise können Sie den in einer einzelnen Zelle des Arrays gespeicherten Wert speichern und anzeigen. Dieser Prozess ist nur gut, wenn Sie einen kurzen Varray haben. Andernfalls ist es kein effizienter Weg. Eine andere Möglichkeit, Daten in Varray einzufügen, ist die Verwendung von Loop.

Empfohlene Lektüre:Einführung in PL/SQL Loop

Einfügen von Daten in einen VARRAY mithilfe einer PL/SQL-Schleife

Die gebräuchlichste Art, mit Daten einer Sammlung umzugehen, ist die Verwendung von Schleifen. Die meisten Programmierer sind es gewohnt, Schleifen zu verwenden, um die Daten jeder Art von Array zu durchlaufen, da dies einfach und weniger zeitaufwändig ist und weniger Codezeilen benötigt, wodurch Ihr Code sauberer und leichter lesbar bleibt. Kurz gesagt, es ist einfach und effizient.

	BEGIN
	FOR i IN 1 .. vry_obj.LIMIT
	LOOP
 		vry_obj.EXTEND;
		vry_obj (i):= 10*i;    
		DBMS_OUTPUT.PUT_LINE (vry_obj (i));    
	END LOOP;
	END;
	/

Ausführungsabschnitt -2

Ich habe den obigen Code ausführlich im Video-Tutorial auf meinem YouTube-Kanal erklärt, das Sie hier ansehen können.

Um die Verwirrung zu minimieren, werde ich Ihnen hier die zwei Hauptfunktionen erklären, die im obigen Ausführungsabschnitt (Ausführungsabschnitt – 2) verwendet werden, nämlich – Limit &Extend.

Um die Funktionsweise des oben gezeigten Codes zu verstehen, ist ein Verständnis der PL/SQL for-Schleife erforderlich. Gerne habe ich ein ausführliches Tutorial zu For-Loop erstellt, das Sie hier nachlesen können.

Limit (Zeile 6): Limit ist eine Sammelmethode, die die maximale Anzahl von Elementen zurückgibt, die im VARRAY zulässig sind. In unserem Fall sind maximal 5 Elemente im VARRAY erlaubt (Zeile 3), was hier wiederum zur Obergrenze der For-Schleife wird.

Erweitern (Zeile 8): Extend ist eine Prozedur, die zum Allokieren des Speichers verwendet wird und ein Element an das VARRAY anhängt. Wenn es ohne Argument verwendet wird (Ausführungsabschnitt-2, Zeile 8), hängt es ein einzelnes Nullelement an, und wenn es mit einem Argument EXTEND (n) verwendet wird (Ausführungsabschnitt -1, Zeile 6), fügt es dann n Zahlen an die Sammlung an. Wobei n die Ganzzahl ist, die Sie als Argument für die Prozedur EXTEND angegeben haben.

Das ist das PL/SQL-Tutorial zum Erstellen einer Sammlung VARRAY in Oracle Database als Mitglied eines PL/SQL-Blocks. Bitte achten Sie darauf, diesen Blog zu liken, ihn mit Ihren Freunden zu teilen und meinen Kanal zu abonnieren, da noch viele solcher Tutorials folgen werden. Vielen Dank und einen schönen Tag!