postgresql - PL/pgSQL 无限循环

标签 postgresql stored-procedures plpgsql postgresql-11

我想在两个日期之间循环,但我的 PL/pgSQL 代码进入无限循环。我想我在这里遗漏了一些东西。

do $$
    declare
        the_dates date;
    begin
        select gs from generate_series('2019-11-01'::date, '2012-11-30', '1 day') as gs into the_dates;
        loop
            raise notice '%', the_dates;
        end loop;
    end
$$

我应该如何在这两个日期之间循环?

最佳答案

您似乎对循环的语法感到困惑。

这里有两个独立的东西:

  1. 将零行(因为您的日期向后)选择到日期变量中的查询。
  2. 一个没有限制的循环,将永远发出通知。

https://www.postgresql.org/docs/current/plpgsql-control-structures.html#PLPGSQL-RECORDS-ITERATING

关于postgresql - PL/pgSQL 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59027156/

相关文章:

MySQL : How to Create table dynamically in stored procedure?

sql - 为什么我的 SQL 查询不使用索引?

postgresql - 将表名传递给函数并返回表

postgresql - Docker无法启动,卷许可被拒绝错误

django - 如何将 Django 与数据以 LATIN1 编码的旧 Postgresql 数据库一起使用?

sql - PLPGSQL 中的 BLOB 到图像转换

json - 将带有副本的有效 json 插入到 postgres 表中

php - MySQL 存储过程还是 php 代码?

sql - 更改聚合函数以在元素为 NULL 时输出 NULL

function - 在 PostgreSQL 中截断模式中的所有表