Zoeken…


Enkele IF-verklaring

Net als de meeste andere programmeertalen ondersteunt T-SQL ook IF..ELSE-instructies.

In het onderstaande voorbeeld is bijvoorbeeld 1 = 1 de expressie, die BEGIN..END in True en het besturingselement het BEGIN..END blok BEGIN..END en de opdracht Print de tekenreeks 'One is equal to One' afdrukt 'One is equal to One'

IF ( 1 = 1)  --<-- Some Expression 
 BEGIN
   PRINT 'One is equal to One'
 END

Meerdere IF-verklaringen

We kunnen meerdere IF-instructies gebruiken om meerdere expressies volledig onafhankelijk van elkaar te controleren.

In het onderstaande voorbeeld wordt de expressie van elke IF instructie geëvalueerd en als deze waar is, wordt de code in het BEGIN...END blok uitgevoerd. In dit specifieke voorbeeld zijn de eerste en derde uitdrukking waar en worden alleen die afdrukinstructies uitgevoerd.

IF (1 = 1)  --<-- Some Expression      --<-- This is true 
BEGIN
    PRINT 'First IF is True'           --<-- this will be executed
END

IF (1 = 2)  --<-- Some Expression 
BEGIN
    PRINT 'Second IF is True'
END

IF (3 = 3)  --<-- Some Expression        --<-- This true 
BEGIN
    PRINT 'Thrid IF is True'             --<-- this will be executed
END

Enkele IF..ELSE-verklaring

In een enkele IF..ELSE instructie, als de uitdrukking in de IF instructie wordt geëvalueerd naar True, gaat het besturingselement het eerste BEGIN..END blok in en wordt alleen de code in dat blok uitgevoerd, het andere blok wordt eenvoudig genegeerd.

Aan de andere kant wordt als de uitdrukking False het ELSE BEGIN..END blok uitgevoerd en komt de besturing nooit in het eerste BEGIN..END blok.

In het onderstaande voorbeeld wordt de uitdrukking onwaar en wordt het Else-blok uitgevoerd met de tekenreeks 'First expression was not true'

IF ( 1 <> 1)  --<-- Some Expression
 BEGIN
     PRINT 'One is equal to One'
 END
ELSE 
 BEGIN
     PRINT 'First expression was not true'
 END

Meerdere ALS ... ELSE met definitieve ELSE verklaringen

Als we meerdere IF...ELSE IF instructies hebben, maar we willen ook een stukje code willen uitvoeren als geen enkele expressie naar True wordt geëvalueerd, dan kunnen we eenvoudig een laatste ELSE blok toevoegen dat alleen wordt uitgevoerd als geen van de IF of anders ELSE IF uitdrukkingen worden geëvalueerd als waar.

In het onderstaande voorbeeld is geen van de IF of ELSE IF expressie True, dus wordt alleen het ELSE blok uitgevoerd en wordt afgedrukt 'No other expression is true'

IF ( 1 = 1 + 1 )
    BEGIN
       PRINT 'First If Condition'
    END 
ELSE IF (1 = 2)
    BEGIN
        PRINT 'Second If Else Block'
    END
ELSE IF (1 = 3)
    BEGIN
        PRINT 'Third If Else Block'
    END
ELSE 
    BEGIN
        PRINT 'No other expression is true'  --<-- Only this statement will be printed
    END

Meerdere ALS ... ELSE verklaringen

Vaker wel dan niet moeten we meerdere uitdrukkingen controleren en specifieke acties ondernemen op basis van die uitdrukkingen. Deze situatie wordt behandeld met behulp van meerdere IF...ELSE IF instructies.

In dit voorbeeld worden alle uitdrukkingen van boven naar beneden geëvalueerd. Zodra een expressie de waarde true krijgt, wordt de code in dat blok uitgevoerd. Als geen expressie als waar wordt geëvalueerd, wordt er niets uitgevoerd.

IF (1 = 1 + 1)
BEGIN
    PRINT 'First If Condition'
END 
ELSE IF (1 = 2)
BEGIN
    PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
    PRINT 'Third If Else Block'
END
ELSE IF (1 = 1)      --<-- This is True
BEGIN
    PRINT 'Last Else Block'  --<-- Only this statement will be printed
END


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow