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