2016-09-27 4 views
-2

Как использовать параметр для увеличения заказов на таблицу orderdetails на 10 процентов?Параметры SQL Server и процентное увеличение

я сделал что-то вроде: добавить параметр с именем IncPercent к значению порядка, если значение IncPercent составляет менее 10%, или если IncPercent составляет 10% или более, добавить 10% к стоимости заказа для всех заказов в OrderDetails таблицы с использованием IF/ELSE. */

код, который я до сих пор я вроде застрял

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

Я не могу понять, как использовать, если другое заявление, в этом коде. Может ли кто-нибудь дать мне лучшее понимание или дать мне пример того, что я должен добавить для 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

im только ищет возможность использования if/else –

+0

Почему IF/ELSE? Это неправильно использовать здесь. Вы должны создать два утверждения вместо одного и это абсолютно произвольное требование. –

+0

, потому что задание спрашивает меня. И мой тренер даже не объяснит это. С ним это как разговор с кирпичной стеной. –