SQL Server 2005
我想调用在SELECT语句中返回table
的UDF,如下所示。
select *, GetIptoCountry(IP_address) as country from tblInfo
但我收到以下错误
“GetIptoCountry”不是公认的内置函数名称。
IP_address
是tblInfo
中的列。我怎么能这样称呼UDF?
最佳答案
您必须使用函数的标准名称,包括模式名称:
例如(如果scema是dbo
),则可以使用dbo.GetIptoCountry()
调用该函数:
select *, dbo.GetIptoCountry(IP_address) as country from tblInfo
更新:
根据您的最后一条评论,您似乎拥有一个表值函数(将返回表行),而不是一个标量值函数(将返回值),因此可以这样进行调用:
Select * from dbo.GetIptoCountry('your_ip_adress');
您的最终查询如下所示:
select *
from tblInfo
cross apply dbo.GetIptoCountry(IP_address) tblCountry