gpt4 book ai didi

sql - 我只想在 PostgreSQL 中做一个简单的循环

转载 作者:行者123 更新时间:2023-11-29 12:31:26 24 4
gpt4 key购买 nike

在 PostGIS SQL Editor 中,我只想做一个循环来使这个功能起作用

For Loopid = 0 to 1000, then execute the following statments:

UPDATE public.globaldtm
SET "UTM" = loopid
WHERE rid IN (SELECT rid FROM globaldtm WHERE ST_Intersects(rast,(select geom from utm where gid =loopid)));

enter image description here

如何在此 SQL 编辑器中编写简单代码以使循环工作。谢谢。

最佳答案

使用设置返回 generate_series() update statement 的可选 FROM 子句中的函数:

UPDATE public.globaldtm 
SET UTM = loopid
FROM generate_series(0, 1000) as x(loopid) -- Added this line
WHERE rid IN (SELECT rid FROM globaldtm WHERE ST_Intersects(rast,(select geom from utm where gid =loopid)));

这是您的查询,添加了这一行:

FROM generate_series(0, 1000) as x(loopid)

查看 live demo on SQLFiddle一个类似的、简化的查询。

关于sql - 我只想在 PostgreSQL 中做一个简单的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17629232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com