我有一个程序,根据其他表中的某些值计算旅行价格。
程序如下:
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))
但我收到错误
Msg 195,Level 15,State 10,Line 2
“CalculateTravelPrice”不是公认的内置函数名称。“
所以问题是如何正确使用程序来计算这个值?这是一个很好的做法,还是有更好的方法?
答案 0 :(得分:2)
您应该将proc转换为udf(用户定义的函数)。然后,您可以将其用于计算列。我认为不能以这种方式使用过程。