SQL Server 2005
我想调用在SELECT语句中返回table
的UDF,如下所示。
select *, GetIptoCountry(IP_address) as country from tblInfo
但我收到了以下错误
' GetIptoCountry'不是公认的内置函数名称。
IP_address
是tblInfo
中的列。
如何像这样调用UDF?
答案 0 :(得分:3)
您必须使用函数的完全限定名称,包括架构名称:
例如(如果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
答案 1 :(得分:0)
我的问题要简单得多。我已经重新连接到数据库。 SSMS仍然让我使用主数据库。
我只需单击下拉列表或运行“ USE MyDatabase”语句并确认。