在Java中调用SQL Server用户定义函数(UDF)

在Java中调用SQL Server用户定义函数(UDF),java,sql-server-2008,user-defined-functions,Java,Sql Server 2008,User Defined Functions,它是否与执行存储过程相同?否,SQL函数必须使用其架构名称引用,并且必须是SELECT语句相应部分的一部分。对于标量值函数,这类似于选择dbo.MyLookupFunction(12)。对于表值函数,从dbo.MyTableLookupFunction(12)中选择columnA、columnB、columnC。有关SQL中函数的更多信息,请参见和 当然,java代码与任何其他查询的代码相同。我将为给您-1并离开的人谈谈。。。你能提供更多的信息吗?在哪些方面也是如此?当我尝试选择dbo.MyLo

它是否与执行存储过程相同?

否,SQL函数必须使用其架构名称引用,并且必须是SELECT语句相应部分的一部分。对于标量值函数,这类似于
选择dbo.MyLookupFunction(12)
。对于表值函数,
从dbo.MyTableLookupFunction(12)中选择columnA、columnB、columnC。有关SQL中函数的更多信息,请参见和


当然,java代码与任何其他查询的代码相同。

我将为给您-1并离开的人谈谈。。。你能提供更多的信息吗?在哪些方面也是如此?当我尝试
选择dbo.MyLookupFunction(12)
时,我得到以下异常,
com.microsoft.sqlserver.jdbc.SQLServerException:没有为参数1设置值。
12只是一个示例,如果您在java代码中使用参数,请尝试将12替换为?然后执行。Java的此类期望占位符与参数匹配。SQL中的参数可以用两种方式表示,一种是使用?来命名,另一种是使用@parametername来命名。我使用了
字符,但它仍然不起作用。
SELECT dbo.MyLookupFunction(?)
有效吗?将您正在使用的代码添加到您的问题中。这应该是有效的。