2016-09-27 152 views
-2

如何使用參數將orderdetails表上的訂單增加10%?SQL Server參數和百分比增加

我不喜歡的東西:添加一個名爲IncPercent參數訂單的價值如果IncPercent值低於10%,或者如果IncPercent爲10%以上,加上10%的訂單的所有訂單的價值在利用IF/ELSE的 OrderDetails表。* /是我到目前爲止

代碼我有點堅持

Create procedure [spAddPercentage] 
    @incPercent decimal(5,4) 
as 
    update OrderDetails 
    set @incPercent = @incpercent * 1.10 
    ......... 

我無法弄清楚如何使用if else語句在此代碼。任何人都可以給我一個更好的理解,或給我一個例子,我應該爲if/else添加什麼?

+0

你是如何確定更新什麼樣的順序,如果'IncPercent'低於10%? – Siyual

+0

可以在存儲過程運行之前和之後添加OrderDetails表中的一些示例數據嗎? – openshac

+1

謹慎的提示:小數點(5,4)數據類型總共有** 5個數字**,並且它們在小數點逗號**之後有** 4,所以它可以存儲從0.0000到9.9999的值 - 但僅此而已。你是否意識到這一點,這對你來說可以嗎? (你不能在這樣的變量/參數中存儲「10」或「20」) –

回答

1

在這裏使用IF/ELSE似乎是一個更復雜的方法來實現這一點。案例表達會更簡單。

update OrderDetails 
set Value = Value * (1 + case when @incPercent < .1 then .1 else @incPercent end) 
+0

即時通訊只使用if/else –

+0

爲什麼IF/ELSE?這是在這裏使用的錯誤的東西。您必須創建兩條語句而不是一條語句,並且完全是任意的要求。 –

+0

因爲任務讓我去。我的培訓師甚至不會解釋它。跟他在一起就好像在磚牆上說話一樣。 –