Oracle
 sql >> Database >  >> RDS >> Oracle

Come creare VARRAY come membro del blocco PL/SQL nel database Oracle

Oggi faremo alcune dimostrazioni pratiche per imparare come creare un VARRAY in Oracle Database, quindi sentiti libero di visitare l'ultimo tutorial per tutte le teorie necessarie sui VARRAY. Come sempre cercherò di mantenere l'esempio il più semplice possibile. Quindi, se sei un principiante della programmazione, non preoccuparti, ti ho preso!

In precedenza abbiamo discusso nell'introduzione ai VARRAY PL/SQL che, come i VARRAY di tabelle nidificati, possono essere creati

  • Come membro di PL/SQL Block e
  • Come oggetto di database.

Oggi impareremo come creare VARRAY come membro del blocco PL/SQL e lasceremo il resto per i futuri tutorial.

Passaggio 1:definisci un Varray all'interno del blocco PL/SQL

Puoi definire un varray solo all'interno della sezione di dichiarazione di un blocco PL/SQL.

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

Nel codice sopra abbiamo creato un VARRAY e lo abbiamo chiamato inBlock_vry. Questo varray è in grado di contenere 5 elementi di tipo di dati Number.

Passaggio 2:inizializza il Varray

L'inizializzazione di un varray può essere eseguita facilmente utilizzando la variabile di raccolta. Per inizializzare il VARRAY definiremo prima una variabile di raccolta e poi la useremo per l'inizializzazione.

vry_obj inBlock_vry  :=  inBlock_vry();

Nel codice sopra abbiamo creato una variabile di raccolta con il nome vry_obj e l'abbiamo usata per inizializzare il varray inBlock_vry.

Informazioni:
Alcuni libri fanno riferimento alla variabile raccolta come oggetto raccolta, quindi non confonderti poiché entrambi sono uguali .

Fase 3:come inserire i dati nel VARRAY

L'inserimento di dati nel varray è molto simile all'inserimento di dati nell'array di un altro linguaggio di programmazione. Puoi inserire i dati direttamente in ogni cella del varray usando il numero di indice oppure puoi usare LOOP per popolare il varray.

Come inserire i dati nel VARRAY utilizzando l'indice della cella

Come sappiamo, la struttura di una raccolta PL/SQL di celle consiste in una cella con un pedice chiamato index. Possiamo usare questo indice per inserire i dati nel varray.

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

Sezione di esecuzione -1

Nel codice sopra abbiamo scritto la sezione di esecuzione del blocco PL/SQL. Si compone di 3 istruzioni eseguibili. Queste tre affermazioni sono –

Riga 6:affermazione 1

La prima istruzione è una chiamata di procedura EXTEND. In questa istruzione stiamo allocando la memoria a ciascuna cella di VARRAY utilizzando la procedura EXTEND.

Riga 7:affermazione 2

Nella seconda istruzione assegniamo un valore numerico (valore derivato dall'espressione di moltiplicazione aritmetica) nella prima cella del varray (cella con numero di indice 1).

Informazioni:
Nella raccolta PL/SQL il numero di indice VARRAY della cella inizia con 1 mentre il numero di indice delle celle nell'array inizia con 0.

Riga 8:affermazione 3

La terza istruzione è un'istruzione di output in cui stiamo visualizzando all'utente il valore che abbiamo memorizzato nella cella 1 di VARRY.

È così che puoi memorizzare e visualizzare il valore memorizzato nella singola cella del varray. Questo processo è valido solo quando si dispone di un breve varray. Altrimenti non è un modo efficiente. Un altro modo per inserire dati nel Varray è usare Loop.

Lettura consigliata:Introduzione a PL/SQL Loop

Come inserire dati in un VARRAY utilizzando PL/SQL Loop

Il modo più comune per gestire i dati di una raccolta è utilizzare i loop. La maggior parte dei programmatori è abituata a utilizzare i loop per scorrere i dati di qualsiasi tipo di array perché è facile, richiede meno tempo e ha meno righe di codice che mantengono il codice più pulito e lo rendono facile da leggere. In breve è facile ed efficiente.

	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;
	/

Sezione di esecuzione -2

Ho spiegato in dettaglio il codice sopra nel Video tutorial sul mio canale YouTube che puoi guardare qui.

Sempre per ridurre al minimo la confusione, ti spiegherò qui le due funzioni principali utilizzate nella sezione di esecuzione sopra (Sezione di esecuzione – 2) che sono – Limita ed Estendi.

Per comprendere il funzionamento del codice sopra mostrato è necessaria la comprensione del ciclo for PL/SQL. Fortunatamente, ho fatto un tutorial dettagliato su For-Loop, che puoi leggere qui.

Limite (riga 6): Limit è un metodo di raccolta che restituisce il numero massimo di elementi consentiti nel VARRAY. Nel nostro caso il numero massimo di elementi consentiti nel VARRAY è 5 (riga 3) che a sua volta diventa il limite superiore del For-Loop qui.

Estendi (riga 8): Extend è una procedura che viene utilizzata per allocare la memoria e aggiunge un elemento al VARRAY. Se utilizzato senza argomento (sezione di esecuzione-2 riga 8) aggiunge un singolo elemento null e se utilizzato con un argomento EXTEND (n) (sezione di esecuzione -1 riga 6) aggiunge n numeri alla raccolta. Dove n è l'intero che hai fornito come argomento alla procedura EXTEND.

Questo è il tutorial PL/SQL su Come creare una raccolta VARRAY in Oracle Database come membro del blocco PL/SQL. Per favore, assicurati di mettere Mi piace a questo blog e di condividerlo con i tuoi amici e iscriviti al mio canale poiché molti di questi tutorial devono ancora arrivare. Grazie e buona giornata!