Я пытаюсь создать хранимую процедуру UpdatePrice
, которая принимает два параметра (@PartId, @Price)
и проверяет, равна ли данная цена текущей цене, а если нет, то ничего не происходит.
Если он отличается, я вставляю новую строку в таблицу с именем PriceHistory
, в которой подробно описываются эти изменения.Часть, с которой у меня возникают проблемы, - это проверка на эквивалентность.
Я склонен был сказать
begin transaction PriceUpdate
if @Price = Price
begin
--
end
else begin
insert into PriceHistory(@PartId, ChangeDate, PreviousPrice, NewPrice)
select @PartId, GetDate(), p.Price, @Price
from Part p
where PartID = @PartId
end
Однако проблема в том, что Price
, очевидно, не является чем-то правильным, что я могу поставить там.Так как же мне получить текущую цену за данный PartId
?