sql >> Database >  >> RDS >> Oracle

Verzamelmethode:BESTAAT Functie in Oracle Database

Nu we de concepten van de eerste verzamelingsfunctie hebben geleerd, wat COUNT is in de vorige zelfstudie. Het is tijd om verder te gaan met de tweede functie van de serie collectiemethodes. Daarom presenteer ik u hier de PL/SQL-verzamelingsmethode BESTAAT. In deze blog gaan we dieper in op de verzamelmethode BESTAAT ( ).

Wat is de verzamelmethode BESTAAT ( )?

Verzamelmethode EXISTS ( ) controleert het bestaan ​​van een element op een specifieke index in een verzameling. Als het het gespecificeerde element vindt, retourneert het TRUE, anders retourneert het FALSE.

U kunt de functie EXISTS ( ) gebruiken om het bestaan ​​van een specifieke rij binnen de verzameling te controleren.

Syntaxis van verzamelmethode BESTAAT ( )

De syntaxis van de EXISTS ( )-functie is –

EXISTS (index number);

EXISTS-functie neemt het subscript/indexnummer van een cel van de verzameling als invoer en zoekt deze in de verzameling. Als het een element vindt dat overeenkomt met het indexnummer, retourneert het TRUE, anders retourneert het FALSE.

Retourneert de verzamelmethode EXISTS NULL?

Geen EXISTS-functie retourneert geen null. Het geeft True of False terug.

Wat als ik een reeds bestaande rij verwijder met de TRIM- of DELETE-functie?

Als u een rij verwijdert met de functie Trim of Delete, dan zal de verzamelmethode EXISTS ( ) FALSE retourneren voor de index van die rij.

Heeft de verzamelmethode EXISTS een uitzondering?

Nee, de incassomethode EXISTS vormt geen uitzondering. In feite is dit de enige functie die geen uitzondering veroorzaakt, zelfs niet als deze wordt gebruikt met een niet-geïnitialiseerde verzameling.

Als er geen uitzondering ontstaat, wat gebeurt er dan als ik deze functie toepas op een niet-geïnitialiseerde verzameling?

Verzamelmethode EXISTS ( ) retourneert false, als het wordt toegepast op een niet-geïnitialiseerde verzameling of op een geïnitialiseerde verzameling zonder elementen.

Voorbeeld van verzamelmethode BESTAAT ( ).

Dit eenvoudige voorbeeld laat u zien hoe u deze functie in uw toepassing kunt gebruiken.

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

In het bovenstaande programma controleren we of er een element op index 1 in de collectie 'my_nested_table' is of niet. Als er een element in de opgegeven index is, wordt het IF-gedeelte van de IF-ELSE-instructie uitgevoerd, anders komt het ELSE-gedeelte in actie.

Wat ga je doen...?

Stel dat u gegevens in een specifieke index wilt invoegen, maar u weet niet zeker of die index al gegevens bevat of niet. Als het iets bevat, wilt u het niet overschrijven. Wat gaat u in dit geval doen?

Om te weten hoe je de verzamelmethode EXISTS kunt gebruiken om de oplossing van dit probleem te vinden, ga je gang en bekijk de PL/SQL-tutorial op mijn YouTube-kanaal.

Dat is een heel eenvoudige demonstratie. Ik weet zeker dat je nog gekkere voorbeelden kunt bedenken. Dus waar wacht je nog op, ga je gang en schrijf je code en kijk op welke andere mogelijke manieren je deze methode kunt gebruiken.

Als je wilt dat ik je code bekijk, kun je je code ook met mij delen op mijn Facebook-pagina of op mijn Twitter.

Wat vind je van deze blog? Is er iets dat je wilt dat we verbeteren? Vertel ons wat je voelt op onze Facebook-pagina en op onze Twitter.

Bedankt en een fijne dag verder.


  1. Postgresql-gebruikerswachtwoord genereren

  2. Die verdomd grote objecten

  3. nvarchar(max) vs NText

  4. Hoe MySQL 8 op Ubuntu te installeren