#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. Не совсем понимаю ваш последний комментарий. В чем проблема ?