BEISPIEL
BEISPIEL
Anweisungsblöcke
Alter Procedure "GespeicherteProzedur1" As
DECLARE @msg VARCHAR(30)
IF (SELECT COUNT(*) FROM personen) > 400 BEGIN
SET @msg = 'Mindestens 10 Mitarbeiter entlassen !!!'
RAISERROR(@msg, 16, 1)
END ELSE BEGIN
SET @msg = 'Mitarbeiter einstellen !!!'
RAISERROR(@msg, 16, 1)
END
return
Verwenden von CASE
Genügen Ihnen die Möglichkeiten von IF/ELSE nicht, weil Sie zum Beispiel nach mehreren Kriterien aus-
werten müssen, bedienen Sie sich einfach der CASE-Anweisung. Diese ist in der Lage, eine Tabellenspalte
oder einen Ausdruck auszuwerten und das Ergebnis an das Dataset zu liefern.
CASE Ausdruck
WHEN bedingung THEN Ausdruck
[...n]
[ELSE Ausdruck]
END
Eine Stored Procedure, die das Maximum zweier Integerwerte ermittelt (nur zur Verdeutlichung, es geht
auch einfacher).
ALTER PROCEDURE Test2 ( @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
Verwenden von WHILE…BREAK/CONTINUE
Wie auch in Basic wiederholt eine WHILE-Schleife Anweisungen, solange eine bestimmte Bedingung erfüllt
ist. In Verbindung mit WHILE werden in der Regel zwei weitere Anweisungen verwendet: BREAK und
CONTINUE. Mit der BREAK-Anweisung brechen Sie die Bearbeitung der Schleife ab, mit der Anweisung
CONTINUE wird die WHILE-Schleife neu gestartet.
625
Transact-SQL – die Sprache des SQL Servers

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.