Gesendet: 29.12.14 14:52 Betreff: RE: Probleme bei gespeicherter Procedur
Extreme Veteran
Beiträge: 568
Hallo Stefan,
StefanWirrer - 17.12.14 13:21
...
if @Lieferant=0
tblProdukt.Lieferant) >= @Lieferant)AND
ELSE
((tblProdukt.Lieferant) =@Lieferant) AND
-- Weitere Filter.
ich hab von der MS-SQL-Syntax keine Ahnung, aber bei deinem Beispiel kommen mir die Klammern etwas seltsam vor.
Evtl. fehlt auch noch ein END für das IF.
Würde man den Ansatz verfolgen, wäre die TSQL-Syntax abgesehen von überflüssigen oder fehlenden Klammern theoretisch so:
Im Batch (SP):
IF [Condition]
-- True Statement
ELSE
-- False Statement
Bei mehreren Statements:
IF [Condition] BEGIN
-- True Statement 1
-- True Statement 2
-- ...
END ELSE BEGIN
-- False Statement 1
-- False Statement 2
-- ...
END
Innerhalb eines Statements, also als Equivalent von IIF gibt es CASE WHEN, wie in meiner anderen Antwort. Beispiel:
CASE WHEN @Lieferant = 0 THEN [X] ELSE [Y] END
oder
CASE @Lieferant
WHEN 0 THEN [x]
WHEN 1 THEN [y]
WHEN 2 THEN [z]
-- usw.
END