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

Erfassungsmethode:EXISTS-Funktion in der Oracle-Datenbank

Nun, da wir die Konzepte der ersten Sammlungsfunktion kennengelernt haben, die im vorherigen Tutorial COUNT war. Es ist an der Zeit, mit der zweiten Funktion der Sammlungsmethodenserie fortzufahren. Daher stelle ich Ihnen hier die PL/SQL-Erfassungsmethode EXISTS vor. In diesem Blog werden wir die Sammelmethode EXISTS ( ) im Detail untersuchen.

Was ist die Erfassungsmethode EXISTS ( )?

Collection-Methode EXISTS ( ) prüft die Existenz eines Elements an einem bestimmten Index in einer Collection. Wenn es das angegebene Element findet, gibt es TRUE zurück, andernfalls gibt es FALSE zurück.

Sie können die Funktion EXISTS ( ) verwenden, um die Existenz einer bestimmten Zeile innerhalb der Sammlung zu überprüfen.

Syntax der Erfassungsmethode EXISTS ( )

Die Syntax der Funktion EXISTS ( ) lautet –

EXISTS (index number);

Die EXISTS-Funktion nimmt die Index-/Indexnummer einer Zelle der Sammlung als Eingabe und sucht danach in der Sammlung. Wenn es ein Element findet, das der Indexnummer entspricht, gibt es TRUE zurück, andernfalls gibt es FALSE zurück.

Gibt die Erfassungsmethode EXISTS NULL zurück?

Keine EXISTS-Funktion gibt nicht null zurück. Es gibt entweder True oder False zurück.

Was ist, wenn ich eine bereits vorhandene Zeile mit der TRIM- oder DELETE-Funktion entferne?

Wenn Sie eine Zeile mit der Trim- oder Delete-Funktion entfernen, gibt die Erfassungsmethode EXISTS ( ) FALSE für den Index dieser Zeile zurück.

Löst die Erfassungsmethode EXISTS eine Ausnahme aus?

Nein, die Sammelmethode EXISTS löst keine Ausnahme aus. Tatsächlich ist dies die einzige Funktion, die keine Ausnahme auslöst, selbst wenn sie mit einer nicht initialisierten Sammlung verwendet wird.

Wenn keine Ausnahme ausgelöst wird, was passiert dann, wenn ich diese Funktion auf eine nicht initialisierte Sammlung anwende?

Die Sammlungsmethode EXISTS ( ) gibt falsch zurück, wenn sie entweder auf eine nicht initialisierte Sammlung oder auf eine initialisierte Sammlung ohne Elemente angewendet wird.

Beispiel für die Erfassungsmethode EXISTS ( ).

Dieses einfache Beispiel zeigt Ihnen, wie Sie diese Funktion in Ihrer Anwendung nutzen können.

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

Im obigen Programm prüfen wir, ob es ein Element am Index 1 in der Sammlung „my_nested_table“ gibt oder nicht. Wenn am angegebenen Index ein Element vorhanden ist, wird der IF-Teil der IF-ELSE-Anweisung ausgeführt, andernfalls kommt der ELSE-Teil in die Aktion.

Was werden Sie tun…?

Angenommen, Sie möchten Daten in einen bestimmten Index einfügen, sind sich aber nicht sicher, ob dieser Index bereits Daten enthält oder nicht. Falls es welche enthält, möchten Sie sie nicht überschreiben. Was werden Sie in diesem Fall tun?

Um zu erfahren, wie Sie die Sammlungsmethode EXISTS verwenden können, um die Lösung dieses Problems zu finden, sehen Sie sich das PL/SQL-Tutorial auf meinem YouTube-Kanal an.

Das ist eine sehr einfache Demonstration. Ich bin sicher, Ihnen fallen ein paar verrücktere Beispiele ein. Worauf warten Sie also noch, schreiben Sie Ihren Code und sehen Sie, auf welche andere Weise Sie diese Methode verwenden können.

Wenn Sie möchten, dass ich Ihren Code überprüfe, können Sie Ihren Code auch auf meiner Facebook-Seite oder auf meinem Twitter mit mir teilen.

Wie gefällt Ihnen dieser Blog? Gibt es etwas, das wir verbessern sollen? Sagen Sie uns auf unserer Facebook-Seite und auf unserem Twitter, was Sie denken.

Danke und einen schönen Tag.