需要写存储过程,先声明两个变量v_x,v_y,然后用select into语句赋值给这两个变量.以下供参考:
declare
v_x NUMBER; --必须和addpoint(x,y,z)里面的x字段类型一致
v_y NUMBER; --必须和addpoint(x,y,z)里面的y字段类型一致
...
begin
select xxx,yyy into v_x, v_y from table; --把table表中xxx,yyy的值赋给v_x,v_y.你可以自己写查询
...
update station set set geom=addpoint(v_x,v_y,z)where id=1;
...
end
加个判断就好了,可以用自带的异常。 EXCEPTION WHEN NO_DATA_FOUND THEN 变量 = NULL; END ;
存储过程里面定义局部变量不需要declare ,去掉declare 试试。
update station set geom=addpoint(sta_87.sta_long,sta_87.sta_alt,z)where id=1
这样不行么?