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

Metodo di raccolta:funzione EXISTS nel database Oracle

Ora che abbiamo appreso i concetti della prima funzione di raccolta, che è COUNT nel tutorial precedente. È ora di passare alla seconda funzione della serie di metodi di raccolta. Quindi qui vi presento il metodo di raccolta PL/SQL EXISTS. In questo blog esploreremo in dettaglio il metodo di raccolta EXISTS ( ).

Che cos'è il metodo di raccolta EXISTS ( )?

Il metodo di raccolta EXISTS ( ) verifica l'esistenza di un elemento in un indice specifico in una raccolta. Se trova l'elemento specificato restituisce TRUE altrimenti restituisce FALSE.

Puoi utilizzare la funzione EXISTS ( ) per verificare l'esistenza di una riga specifica all'interno della raccolta.

La sintassi del metodo di raccolta ESISTE ( )

La sintassi della funzione EXISTS ( ) è –

EXISTS (index number);

La funzione EXISTS prende il numero pedice/indice di una cella della raccolta come Input e lo ricerca nella raccolta. Se trova un qualsiasi elemento corrispondente al numero di indice, restituisce TRUE altrimenti restituisce FALSE.

Il metodo di raccolta EXISTS restituisce NULL?

Nessuna funzione EXISTS non restituisce null. Restituisce True o False.

Cosa succede se rimuovo una riga già esistente utilizzando la funzione TRIM o DELETE?

Se rimuovi una riga utilizzando la funzione Taglia o Elimina, il metodo di raccolta EXISTS ( ) restituirà FALSE per l'indice di quella riga.

Il metodo di raccolta EXISTS solleva eccezioni?

No, il metodo di raccolta EXISTS non genera alcuna eccezione. In effetti, questa è l'unica funzione che non solleva eccezioni, anche se utilizzata con una raccolta non inizializzata.

Se non genera un'eccezione, cosa succede se ho applicato questa funzione a una raccolta non inizializzata?

Il metodo di raccolta EXISTS ( ) restituisce false, se viene applicato a una raccolta non inizializzata oa una raccolta inizializzata senza elementi.

Esempio di metodo di raccolta ESISTE ( ).

Questo semplice esempio ti mostrerà come utilizzare questa funzione nella tua applicazione.

SET SERVEROUTPUT ON;
DECLARE
        --Declare a local Nested Table
    	TYPE my_nested_table IS TABLE OF VARCHAR2 (20);
 --Declare collection variable and initialize the collection.	
col_var_1   my_nested_table := my_nested_table('Super Man','Iron Man','Bat Man');
BEGIN
    IF col_var_1.EXISTS (1) THEN
        DBMS_OUTPUT.PUT_LINE ('Hey we found '||col_var_1 (1));
    ELSE
        DBMS_OUTPUT.PUT_LINE ('Sorry, no data at this INDEX');
    END IF;
END;
/  

Nel programma di cui sopra stiamo controllando se c'è qualche elemento all'indice 1 nella raccolta 'my_nested_table' o meno. Se è presente un elemento nell'indice specificato, verrà eseguita la parte IF dell'istruzione IF-ELSE, altrimenti entrerà in azione la parte ELSE.

Cosa farai...?

Supponiamo di voler inserire un dato in un indice specifico ma non sei sicuro se quell'indice contenga già alcuni dati o meno. Nel caso in cui ne tenga uno, non vuoi sovrascriverlo. Cosa farai in questo caso?

Per sapere come utilizzare il metodo di raccolta EXISTS per trovare la soluzione a questo problema, vai avanti e guarda il tutorial PL/SQL sul mio canale YouTube.

Questa è una dimostrazione molto semplice. Sono sicuro che puoi venire con alcuni esempi più folli. Allora cosa stai aspettando, vai avanti e scrivi il tuo codice e vedi in quali altri modi possibili puoi utilizzare questo metodo.

Se vuoi che esamini il tuo codice, puoi condividere il tuo codice con me sulla mia pagina Facebook o anche sul mio Twitter.

Ti piace questo blog? C'è qualcosa che vuoi che miglioriamo? Raccontaci cosa provi sulla nostra pagina Facebook e sul nostro Twitter.

Grazie e buona giornata.