从HANA程序调用标量函数

问题描述

我有一个定义为的函数: ``其中XXXXX是我的架构YYYYY是我的包裹。

PROCEDURE "XXXXX"."YYYYY.SPATIAL::SP_GA_PT_PATH_disTANCE" (IN PID NVarChar(36)) 
LANGUAGE sqlScript
sql Security INVOKER 
--DEFAULT SCHEMA <default_schema_name>
AS
BEGIN

我想调用一个函数并将结果分配给变量,我尝试了以下两种方法

intIntersect := XXXXX.YYYYY.SPATIAL::GA_INTERSECT (32.925148,-117.020051,32.924672,-117.019454,32.924488,-117.020322,32.924849,-117.019759);

​SELECT XXXXX.YYYYY.SPATIAL::GA_INTERSECT (32.925148,-117.019759) INTO intIntersect FROM DUMMY;

我对此有不同的排列方式,但没有用。

有什么想法吗?

谢谢。

解决方法

在代码示例中,您所描述的FUNCTION实际上是PROCEDURE

这些方法的区别在于您可以使用任何一种方法。 过程需要通过CALL语句调用。

函数可以在所有可以使用表达式(即{{1的投影列表)使用的地方用作标量函数。 }}语句),或者对于表类型的函数,例如处于SELECT条件下的表。

移交给该过程的参数似乎是数据项列表。 传递参数“列表”的一般方法是使用表类型参数:

WHERE