Transact SQL – Auswahlanweisung
Die Transact SQL Auswahlanweisungen führen in Abhängigkeit von definierten Bedingungen definierte Operationen durch.
IF-ELSE
Auch TSQL kennt wie viele andere Programmiersprachen die IF-ELSE Anweisung. Das Nachfolgende Beispiel liefert das Maximum zweier Integervariablen zurück.
1 2 3 4 5 6 7 8 9 | CREATE PROCEDURE Test2( @A INT, @B INT) AS DECLARE @MAXIMUM INT SET @MAXIMUM = @A IF @MAXIMUM < @B SET @MAXIMUM = @B RETURN @MAXIMUM |
Dieses Beispiel liefert ebenfalls das Maximum zweier Integervariablen zurück, nutzt dazu aber eine IF-ELSE Anweisung.
1 2 3 4 5 6 7 8 9 10 11 12 | CREATE PROCEDURE Test3( @A INT, @B INT) AS DECLARE @MAXIMUM INT IF @A < @B SET @MAXIMUM = @B ELSE SET @MAXIMUM = @A RETURN @MAXIMUM |
SELECT CASE
Bei der SELECT CASE Anweisung wird ein Ausdruck einmal ausgewertet und mit Konstanten verglichen. Bei Gleichheit werden die Anweisungen abgearbeitet. Nachfolgendes Beispiel gib das Maximum zweier Integervariablen zurück.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CREATE PROCEDURE TestCase ( @A INT, @B INT) AS DECLARE @MAXIMUM INT SELECT @MAXIMUM = CASE WHEN @A > @B THEN @A WHEN @A < @B THEN @B ELSE @A END RETURN @MAXIMUM |