Процедура SQL вычисляет столбец по заданному проценту

#sql #stored-procedures #sql-update

Вопрос:

У меня есть таблица со столбцами: ProductCode, ProductLine, Saleprice. Мне нужно написать процедуру расчета новой цены продажи на основе заданного числа для конкретной линейки продуктов, а затем также обновить эту таблицу.

 @newprice = (SELECT Saleprice FROM temp_table WHERE productLine = @line)* @percentage;

update temp_table
Saleprice = @newprice WHERE productLine = @line
 

Как я могу это сделать?

Комментарии:

1. какова ваша база данных

Ответ №1:

Вы можете использовать UPDATE запрос и обновлять Saleprice непосредственно

 UPDATE t
SET    Saleprice = t.Saleprice  * @percentage
FROM   temp_table t
WHERE  t.productLine = @line
 

Если вам нужно создать хранимую процедуру

 CREATE PROCEDURE markup_salesprice
    @line int,
    @percentage decimal(10,2)
AS
BEGIN

  UPDATE t
  SET    Saleprice = t.Saleprice  * @percentage
  FROM   temp_table t
  WHERE  t.productLine = @line

END
 

Комментарии:

1. Спасибо вам за вашу помощь. Но в случае, если процент является случайным числом для разных изменений. Я должен выполнить процедуру, которая вводит только ставку и строку за это время, а затем возвращает новую цену за это.

2. Не совсем понимаю ваш последний комментарий. В чем проблема ?