oracle 中怎样把查询结果当做已知量或赋值给某个变量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 中怎样把查询结果当做已知量或赋值给某个变量?相关的知识,希望对你有一定的参考价值。
如我想在update station
set geom=addpoint(x,y,z)where id=1
中将x,y的位置用另一个表的某行的两个值代替应该怎么操作啊,谢谢了
代码如图
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追问
SQL> create or replace procedure pro_into
as
declare
v_x number;
v_y number;
begin
select sta_long into v_x from sta_87 where id=2;
select sta_alt into v_y from sta_87 where id=2;
update station_87
set geom= addpoint(v_x,v_y,4214)where id=2;
end pro_into;
/
Warning: Procedure created with compilation errors
就报错了,帮忙看看有哪不对吗?多给分哦
set geom= addpoint(v_x,v_y,4214)where id=2;
4214)后面是否要加一个空格
这样不行么?追问
TT 也不行,说是标示符无效,是不是我的pl/sql developer版本不对啊?
追答你确定表名都对吧?
你那个_87都加了?
或者是都不用加?
表名都对,大侠方便加下我qq吗1269160297
追答额...非大侠,只是凭经验的一点推论,oracle不是很瘦
公司无法聊Q,*_*
以上是关于oracle 中怎样把查询结果当做已知量或赋值给某个变量?的主要内容,如果未能解决你的问题,请参考以下文章