Microsoft SQL Server
IF ... ELSE
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