oracle 中怎样把查询结果当做已知量或赋值给某个变量?

2024-10-29 22:38:59
推荐回答(4个)
回答1:

需要写存储过程,先声明两个变量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

回答2:

加个判断就好了,可以用自带的异常。 EXCEPTION WHEN NO_DATA_FOUND THEN 变量 = NULL; END ;

回答3:

存储过程里面定义局部变量不需要declare ,去掉declare 试试。

回答4:

update station set geom=addpoint(sta_87.sta_long,sta_87.sta_alt,z)where id=1
这样不行么?