SQL Server использует процедуру для вычисления значения столбца - PullRequest
2 голосов
/ 30 октября 2011

У меня есть процедура, которая рассчитывает стоимость поездки на основе некоторых значений из других таблиц.

Процедура выглядит так:

create procedure CalculateTravelPrice(@ID int)
as
begin
return
(select SalaryForOneDay from Driver where driver.PersonID=@ID)+
(select SalaryForOneDay from Driver where driver.PersonID=@ID)
end

Я пытаюсь добавить столбец, который использует эту процедуру для вычисления значения:

alter table RegisteredTravel
add PriceForTravel as (CalculateTravelPrice(RegTravelID))

но я получаю сообщение об ошибке

Сообщение 195, Уровень 15, Состояние 10, Строка 2
«CalculateTravelPrice» не является распознанным именем встроенной функции. "

Итак, вопрос в том, как правильно использовать процедуру для вычисления этого значения? Это даже хорошая практика или, может быть, есть лучший способ?

1 Ответ

2 голосов
/ 30 октября 2011

Вы должны превратить ваш процесс в udf (пользовательская функция). Затем вы можете использовать это для вашего рассчитанного столбца. Я не думаю, что проки можно использовать таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...