从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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...