Der Versuch, eine gespeicherte Prozedur in SQL 2008R2 zu erstellen. Ich habe zwei Parametereingänge, die abhängig von ihrem Eingang idealerweise den Wert eines anderen Parameters auf einen von vier Werten setzen. Versuchen, festzustellen, ob dies möglich ist, und wenn ja, wo ist der beste Ort, um es in den SP zu setzen. Hier ist eine abgespeckte Version meines Codes.Stored Procedure set Parameter basierend auf anderen Parametern Eingabe
Declare @FWIdle as bYN, @NewComp as bYN
set @FW = 'Y'
set @NEW = 'Y'
select Case(
when w.WearRate <0.400 then round((- 50*w.WearRate+112.5),2
when w.WearRate <0.450 then round((-100*w.WearRate+132.5),2)
when w.WearRate <0.550 then round((- 50*w.WearRate+110.5),2)
else 52.5 END as Score
from EMWear w
Hoffnung alle w.WearRate mit @Wear zu ersetzen und @Wear zu einem von vier möglichen Feldern in der Ansicht, basierend auf der Kombination der beiden Parameter.
So etwas wie:
if @FW = 'Y' and @NEW = 'N' then @Wear = w.FWRate else
if @FW = 'N' and @NEW = 'Y' then @Wear = w.NewRate else
if @FW = 'Y' and @NEW = 'Y' then @Wear = w.FWNewRate else
@Wear = w.WearRate
Da ich mehr als 150 Zeilen Code haben, die mit dieser Rate beschäftigt, würde ich lieber nicht zu haben, um diesen Code 4 mal zu schreiben, um den gewünschten Wert zu erhalten. Jede Hilfe, wie ich das schreiben und es sauber/einfach halten kann, wäre sehr willkommen.
Das würde die richtige WearRate ziehen, aber nicht zeigen, wie das für die mehrere Zeilen der Berechnungen, die ich mit diesem WearRate verwende, funktionieren würde. Danke für die Eingabe obwohl. – Kerry