SAP HANA空间函数
我想在SAP HANA DB中创建用于计算两点之间距离的函数SAP HANA空间函数,sap,hana,Sap,Hana,我想在SAP HANA DB中创建用于计算两点之间距离的函数 create function "kostya"."calc_distance" (in a ST_Point, in b ST_Point) returns dist DOUBLE AS BEGIN dist = a.ST_Distance(b); END 当我尝试执行此代码时,出现错误: feature not supported: Unsupported parameter type:ST_POINT: line 2
create function "kostya"."calc_distance" (in a ST_Point, in b ST_Point)
returns dist DOUBLE
AS
BEGIN
dist = a.ST_Distance(b);
END
当我尝试执行此代码时,出现错误:
feature not supported: Unsupported parameter type:ST_POINT: line 2 col 48 (at pos 48)
但当我执行类似的SQL查询时:
select NEW ST_Point(10, 1).ST_Distance( NEW ST_Point(1, 1)) FROM dummy;
我得到了写作成绩
有什么建议吗?从我们学到的:
过程的输入和输出参数可以具有任何基本SQL类型或表类型
遗憾的是,地理空间数据类型未按此列出
因此,您必须将scalare值(如a.ST_X)传递给函数,并使用类似的So将它们组合回过程中的一个ST_点:
创建函数计算距离
在一个长双人赛中,
在一张双人床上,
在b_long DOUBLE中,
在b_lat DOUBLE中
返回dist-DOUBLE
像
开始
选择新ST_点:a_长,:a_横向ST_距离
新ST_点:b_long,:b_lat进入假人的距离;
终止
-样本使用
选择计算距离a.ST\u X、a.ST\u Y、b.ST\u X、b.ST\u Y
从…起
从虚拟对象中选择新ST_点10.0、50.0作为a,选择新ST_点11.0、51.0作为b
;
HANA 102.01的基于Web的开发工作台对此毫无怨言。从安装了SAP Eclipse开发工具的EclipseLuna中,我们得到
java.sql.SQLWarning: Not recommended feature: Using SELECT INTO in Scalar UDF
Statement 'CREATE FUNCTION "calc_distance" ( IN a_long DOUBLE, IN a_lat DOUBLE, IN b_long DOUBLE, IN b_lat ...'
successfully executed in 16 ms 272 µs (server processing time: 7 ms 460 µs) - Rows Affected: 0
可能在SAP HANA Studio中,警告会变成错误。似乎那边的事情正在进行中:
从SAP HANA SPS11开始,就扩展了对空间数据类型的支持。请参阅SAP HANA Academy。感谢您的回答!我试过你的例子,但对我不起作用。SAP DBTech JDBC:[7]:不支持功能:标量UDF不支持SQL语句HANA SP是什么?我的是SP10。对不起,我是SAP的初学者。我已将SAP HANA CLOUD与试用帐户一起使用。数据库版本1.00.102.03.1449674847几乎是当前的云版本。我的不是新的。上面的代码应该可以工作。请给出您在基于Web的开发工作台中遇到的准确错误。明天早上我将在HANA Studio中进行尝试,并返回给您。我将eclipse与sap HANA插件一起使用。我将此示例用于我的函数