【发布时间】:2017-12-04 21:06:52
【问题描述】:
我试图显示到位置之间的距离,但是,当使用从用户输入的邮政编码处理的 l_lng 和 l_lat 变量时,我收到以下错误 - ORA-13032: Invalid NULL SDO_GEOMETRY object
UPDATE 没有问题,因为当我输入纬度和经度值时,会计算距离。此外,当显示l_lng 和l_lat 变量中保存的纬度和经度值时,它们也是正确的。
DECLARE
l_lat VARCHAR2(100);
l_lng VARCHAR2(100);
l_postcode VARCHAR2(8) := :P2_POSTCODE;
BEGIN
brian.GEOCODE_GM_XML (:P2_POSTCODE, l_lat, l_lng);
UPDATE RESTAURANTS
SET DISTANCE = (SELECT SDO_GEOM.SDO_DISTANCE(
restaurants.location,
SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(l_lng, l_lat, null), null, null),
0.005, 'unit=mile') distance
FROM restaurants WHERE restaurants.restaurant_id = 36);
htp.p(l_lat);
htp.p(l_lng);
END;
我犯了什么错误吗?
【问题讨论】:
标签: sql oracle plsql oracle-apex