Probleme bei gespeicherter Procedur
PeterDoering
Gesendet: 29.12.14 14:52
Betreff: RE: Probleme bei gespeicherter Procedur



Extreme Veteran

Beiträge: 568
5002525
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

-----
Gruss - Peter
Top of the page Bottom of the page