使用单个UPDATE脚本向表中的每一行添加单独的值

时间:2017-12-03 19:46:15

标签: sql oracle plsql oracle-apex

我试图根据用户输入的邮政编码向餐馆餐桌中的每一行添加一个距离值,但是,每个餐馆的距离会有所不同,因此需要{{1} }子句匹配不同的WHERE

restaurant_id

我假设我需要一个所有餐馆ID的数组,并通过它们循环。我该怎么做呢?

Restaurants table

1 个答案:

答案 0 :(得分:0)

也许这就是你想要的:

UPDATE RESTAURANTS
SET DISTANCE = SDO_GEOM.SDO_DISTANCE(location,
                                     SDO_GEOMETRY(2001, 
                                                  4326,
                                                  SDO_POINT_TYPE(l_lng, 
                                                                 l_lat, 
                                                                 null
                                                  null, 
                                                  null
                                                 ),
                                     0.005, 
                                     'unit=mile'
                                   ) distance;

也就是说,子查询不是必需的。你可以直接调用这些函数。