ORA-06502: PL/SQL: 数字或值错误
ORA-06512: 在 "SYS.STANDARD", line 406
ORA-06512: 在 "OPSMART.ZAA_GEODIRECTIONE", line 27
ORA-06512: 在 "OPSMART.PAFU_ODS_LTE_INFOZAA_MON", line 74
求救。
AB_dist := ZAA_dist_on_sphere(v_dept(i).a_lat, v_dept(i).a_lon, v_dept(i).b_lat, v_dept(i).b_lon);
这样调用就会出错
直接赋值或者
AB_dist := ZAA_dist_on_sphere(26.7297, 108.439058, 26.182657, 108.816947);
这样写死了就不会出错
ORA-06512: 在 "SYS.STANDARD", line 406
ORA-06512: 在 "OPSMART.ZAA_GEODIRECTIONE", line 27
ORA-06512: 在 "OPSMART.PAFU_ODS_LTE_INFOZAA_MON", line 74
求救。
AB_dist := ZAA_dist_on_sphere(v_dept(i).a_lat, v_dept(i).a_lon, v_dept(i).b_lat, v_dept(i).b_lon);
这样调用就会出错
直接赋值或者
AB_dist := ZAA_dist_on_sphere(26.7297, 108.439058, 26.182657, 108.816947);
这样写死了就不会出错
在你调用的v_dept(i).a_lat,v_dept(i).a_lon等等,这些函数执行可有错误?可以先执行一下这些函数,看看放回值是否出错。
这样调用也不会出错
就v_dept(i).a_lon 这个有问题
原数据类型
lat NUMBER(10,6)
lon NUMBER(10,6)
定义
create or replace type pa_obj_lte_infozaa as object(
a_lac_ci VARCHAR2(15),
a_cover_type NUMBER(2),
b_lac_ci VARCHAR2(15),
b_cover_type NUMBER(2),
a_dir NUMBER(4),
b_dir NUMBER(4),
dist NUMBER(10,6), --距离
dire NUMBER(10,6), --方位角
dirn NUMBER(10,6), --反方位角
tdir NUMBER(10,6), --方位角夹角度数
a_lat NUMBER(10,6),
a_lon NUMBER(10,6),
b_lat NUMBER(10,6),
b_lon NUMBER(10,6)
);
AB_dist := ZAA_dist_on_sphere(v_dept(i).a_lat, v_dept(i).a_lon - 0.0000001, v_dept(i).b_lat, v_dept(i).b_lon);这是啥问题。。?