📜  pl sql 循环示例 - SQL (1)

📅  最后修改于: 2023-12-03 15:18:36.021000             🧑  作者: Mango

PL/SQL 循环示例

在 PL/SQL 中,循环是一种常见的编程结构。使用循环可以有效地重复执行某些代码块,减少重复代码的编写。本文将介绍 PL/SQL 中的循环结构,并给出一些示例。

PL/SQL 中的循环结构

PL/SQL 支持以下几种循环结构:

  • WHILE 循环:当指定条件为真时重复执行一系列语句,通常用于在不知道具体循环执行次数的情况下进行循环。
  • FOR 循环:重复执行一系列语句,通常用于已知循环执行次数的情况下进行循环。
  • LOOP 循环:重复执行一系列语句,直到指定条件为真为止。
WHILE 循环示例

下面是一个使用 WHILE 循环的示例,该程序计算并输出 1 到 10 的和:

DECLARE
    sum NUMBER := 0;
    i NUMBER := 1;
BEGIN
    WHILE i <= 10 LOOP
        sum := sum + i;
        i := i + 1;
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('Sum of 1 to 10 is ' || sum);
END;

代码解释:

  • 使用 DECLARE 关键字定义变量 sum 和 i。
  • 在 WHILE 循环中,当 i 的值小于等于 10 时,执行循环体内的语句。
  • 将每次循环所得的 i 的值加到 sum 中。
  • 输出计算结果。
FOR 循环示例

下面是一个使用 FOR 循环的示例,该程序计算并输出 1 到 10 的乘积:

DECLARE
    prod NUMBER := 1;
BEGIN
    FOR i IN 1..10 LOOP
        prod := prod * i;
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('Product of 1 to 10 is ' || prod);
END;

代码解释:

  • 使用 DECLARE 关键字定义变量 prod。
  • 在 FOR 循环中,i 的值从 1 循环到 10。
  • 将每次循环所得的 i 的值乘到 prod 中。
  • 输出计算结果。
LOOP 循环示例

下面是一个使用 LOOP 循环的示例,该程序计算并输出 1 到 10 的阶乘:

DECLARE
    n NUMBER := 10;
    fact NUMBER := 1;
BEGIN
    LOOP
        EXIT WHEN n = 0;
        fact := fact * n;
        n := n - 1;
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('10! = ' || fact);
END;

代码解释:

  • 使用 DECLARE 关键字定义变量 n 和 fact。
  • 在 LOOP 循环中,当 n 的值等于 0 时退出循环。
  • 将每次循环所得的 n 的值乘到 fact 中。
  • 输出计算结果。
总结

PL/SQL 中的循环结构是开发中的一个非常重要的编程结构。了解并掌握这些循环结构的使用方法,可以有效地简化代码编写,提高程序的效率。