📜  PostgreSQL – 循环语句

📅  最后修改于: 2022-05-13 01:57:05.872000             🧑  作者: Mango

PostgreSQL – 循环语句

循环语句用于简单地定义一个无条件循环,该循环重复执行代码语句,直到遇到返回或退出语句后终止。

句法:

<

在上述语法中,我们必须理想地执行以下操作:

  • 终止条件:我们应该尝试在循环体中定义一个条件,直到我们的循环运行为止。一旦此条件失败,循环将终止。如果我们不定义终止条件,则循环执行无限次,我们会遇到无限循环的情况。
  • 增量/减量:我们应该尝试在主体内包含增量或减量语句来增加或减少运行变量。如果我们不改变变量的值,循环就会一次又一次地陷入相同的状态,我们就会遇到无限循环的情况。

要终止循环的运行,我们可以简单地包含一个if 语句和一个exit 语句,语法如下:

<

当我们将一个循环放在另一个循环中时的条件称为嵌套循环。重要的是要注意,每当我们使用嵌套循环时,我们必须在 exit 或 continue 语句中定义循环标签,以准确显示我们指的是哪个循环。

<>
loop  
  statements;
  <>
  loop
    inside statements;
    exit <>
  end loop;
end loop;

示例 1:

以下示例显示如何使用循环语句打印从 1 到 5 的所有数字。

do $$
declare
  n integer:= 6;
  cnt integer := 1 ;  
begin
loop  
 exit when cnt = n ;
 raise notice '%', cnt;  
 cnt := cnt + 1 ;  
end loop;  
end; $$;

输出:

在上面的示例中,我们定义了一个cnt 变量,其值在每次迭代时都会增加。打印 cnt 的值,直到它达到我们的 n 的峰值,之后循环终止。

示例 2:

以下示例显示如何使用循环语句打印从 10 到 1 的所有数字。

do $$
declare
 n integer:= 0;
 cnt integer := 10 ;  
begin
loop  
exit when cnt = n ;
raise notice '%', cnt;  
cnt := cnt - 1 ;  
end loop;  
end; $$;

输出:

在上面的示例中,我们定义了一个cnt 变量,其值在每次迭代时都会减小。打印 cnt 的值,直到它达到我们的最小值 n ,之后循环终止。