小编sm9*_*901的帖子

使用 PL/pgSQL 在循环中运行 CTE 查询

我正在尝试执行使用 plpgsql 在循环中重复调用的查询 - 循环遍历另一个表(命名坐标),其中包含网格的左上角和右下角纬度/经度坐标,我传递左上角和右下角纬度/ 经度值输入我的 CTE,以便显示在给定两个时间戳的这些坐标内发出的请求量(每小时)-。但是,我无法显示 CTE 的结果,并且收到以下错误消息:

ERROR:  query has no destination for result data
HINT:  If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT:  PL/pgSQL function "inline_code_block" line 6 at SQL statement
Run Code Online (Sandbox Code Playgroud)

为了使整个查询根据需要工作,我应该在这里更改什么?我的代码如下:

DO $$
<<outer_scope>> DECLARE
  coords RECORD;
BEGIN
    FOR coords IN SELECT topleftlat, topleftlon, bottomrightlat, bottomrightlon FROM coordinates LOOP
        WITH cal AS (
        SELECT generate_series('2011-02-02 00:00:00'::timestamp ,
                   '2012-04-01 05:00:00'::timestamp , 
                   '1 hour'::interval) AS stamp
    ),
    qqq AS (
      SELECT date_trunc('hour', …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

5
推荐指数
1
解决办法
5432
查看次数

标签 统计

plpgsql ×1

postgresql ×1