- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读过的一些关于在 plpgsql 中使用 for 循环的介绍性教程都说过,除非我真的需要 for 循环,否则我应该找到另一种方法。
作为编程新手,我想不出比 for 循环更好的方法。
我想遍历每个地 block 的 gid,通过边界框计算最近的街道交叉口,然后将交叉口 id 分配给地 block 中的 nearest_intersection 列。
此函数的所有部分都运行良好。但我不知道如何将它们放在一起。
BEGIN
FOR gid IN SELECT gid FROM parcels
LOOP
UPDATE parcels SET nearest_intersection =
(select intersection.osm_id
from intersections
order by
intersections.geom <-> (select geom from parcels where gid = parcel_id)
limit 1;)
end loop;
end;
谢谢!
最佳答案
在您当前的代码中,循环确实没有意义,因为单独的 UPDATE
已经处理了 parcels
表的每一行。
你可能想要的是(没有循环):
UPDATE parcels R SET nearest_intersection =
(select intersection.osm_id
from intersections
order by intersections.geom <-> R.geom
limit 1);
在程序思维中相当于:
for every row
R
ofparcels
, find the row inintersections
whosegeom
is the nearest toR.geom
and copies itsosm_id
intoR.nearest_intersection
另一方面,如果它必须用循环完成,它看起来像这样:
FOR var_gid IN SELECT gid FROM parcels
LOOP
UPDATE parcels SET nearest_intersection =
(select intersection.osm_id
from intersections
order by
intersections.geom <-> parcels.geom)
limit 1)
WHERE parcels.gid=var_gid;
end loop;
关于postgresql - 这是 plpgsql 的理想选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23459679/
从许多帖子中我可以读到有关最大池大小的公式,它取决于 CPU 的数量 + 1。这是一个明确的解释。 但是如果应用程序定义了许多执行器或线程池执行器怎么办。然后我们还必须考虑应用程序共享相同的硬件。这对
我一直在寻找垂直 Accordion 内容 slider 。我找到了一个:http://www.marghoobsuleman.com/jQuery-common-accordion ,而且还不错。我
在 not having a whole bunch of luck 之后找到任何可充当 SNMP 代理的 .NET SNMP 库(可在 OSS 项目中使用 - 这意味着专有库已经过时),我现在正在考
目前我正在考虑: VMWare 管理程序 ESXi 中央操作系统 5.5 内存缓存 1.4.5和依赖 这就是全部。我还需要什么/任何替代品吗? 最佳答案 Memcached在linux上运行的很好,所
我是一名优秀的程序员,十分优秀!