PL/SQL While 循环

2024年12月9日 | 阅读时间 3 分钟

当需要执行一组语句,只要一个条件为真,就使用 PL/SQL While 循环。 在每次迭代开始时确定条件,并持续到条件变为假。

While 循环的语法

在上面的语法中,

  • WHILE 是一种循环类型
  • <condition> 是一个布尔变量,其值为真、假或空。
  • Statements 是一组编程结构。

WHILE 循环的工作方式

在循环的每次迭代之前,都会检查指定的条件。 如果条件为真,则执行语句,如果条件计算为假或空,则循环终止,控制权传递给 END LOOP 语句之后的下一个可执行语句。

因此,WHILE 循环的执行取决于一个条件,并且不是固定的,如果您事先不知道循环将运行多少次,则应使用循环。 即使条件计算为 FALSE 或 NULL,while 循环也不会运行一次。 如果 WHILE 条件始终计算为 TRUE,则循环不会终止。

下面是 WHILE 循环的图形表示。

PL/SQL While Loop

PL/SQL While 循环示例

用 PL/SQL 编写一个程序,打印从整数 i = 1 到 10 的一系列数字。

说明: 执行以上代码时,i 的值每次进入循环时都会增加 1,当 i < =10 时退出。

输出

在执行以上代码后,您将得到以下结果

1
2
3
4
5
6
7
8
9
10

PL/SQL WHILE 循环示例 2

输出

200
400
600
800
1000
1200
1400
1600
1800
2000

PL/SQL WHILE 循环示例 3

编写一个 PL/SQL 程序,使用 while 循环向 Emp_details 表中插入 5 条记录。

说明

执行以上代码时,它将循环 5 次,并将 5 条记录插入 Emp_details 表中。 在每次传递时,代码将增加 1,sal 将增加 500,计数器 (N) 将增加 1。 最后,当 N < =5 时,此循环将失败。

输出

Insert
PL/SQL procedure successfully completed.

使用 WHILE 循环的 EXIT – WHEN 语句

以下是带有 WHILE 循环的 PL/SQL EXIT WHEN 循环语句的示例

编写一个 PL/SQL 程序,该程序使用 WHILE 循环中的 EXIT WHEN 语句执行 5 次循环。

说明: 执行上述代码时,每次进入循环时,N 的值都会增加 1,当 N >6 时退出。 这里,此条件由 EXIT WHEN 语句指示。

输出

Loop executes 1 times
Loop executes 2 times
Loop executes 3 times
Loop executes 4 times
Loop executes 5 times

嵌套 WHILE 循环

嵌套 while 循环的语法如下所示

嵌套 while 循环的示例如下所示

说明: 执行以上示例时,它将打印一个系列

输出

以下是示例的输出

PL/SQL NESTED WHILE LOOP EXECUTION
12345
12345
12345
12345
12345

注意:使用 PL/SQL WHILE 循环时,您必须遵循这些步骤。

  • 在循环体之前初始化一个变量。
  • 在循环中递增变量。
  • 您可以在 While 循环中使用 EXIT WHEN 语句和 EXIT 语句,但很少这样做。

下一主题PL/SQL FOR 循环