📜  PL SQL循环(1)

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

PL/SQL循环

在PL/SQL中,我们可以使用循环结构来重复执行一些操作。有3种不同类型的循环:WHILE、FOR和LOOP。

WHILE循环

WHILE循环用于在指定条件为真时重复运行一系列语句。语法如下:

WHILE condition LOOP
    statements;
END LOOP;

下面是一个示例程序,它使用WHILE循环来输出从1到10的数字:

DECLARE
    counter NUMBER := 1;
BEGIN
    WHILE counter <= 10 LOOP
        DBMS_OUTPUT.PUT_LINE(counter);
        counter := counter + 1;
    END LOOP;
END;

这将输出以下内容:

1
2
3
4
5
6
7
8
9
10
FOR循环

FOR循环用于在指定的范围内重复运行一系列语句。语法如下:

FOR counter IN [REVERSE] lower_bound..upper_bound LOOP
    statements;
END LOOP;

其中,lower_bound和upper_bound是循环的起始和结束值,counter是循环变量。

下面是一个示例程序,它使用FOR循环输出偶数数字:

DECLARE
    counter NUMBER;
BEGIN
    FOR counter IN 1..10 LOOP
        IF MOD(counter, 2) = 0 THEN
            DBMS_OUTPUT.PUT_LINE(counter);
        END IF;
    END LOOP;
END;

这将输出以下内容:

2
4
6
8
10
LOOP循环

LOOP循环用于无限次执行一些操作,直到收到BREAK语句。语法如下:

LOOP
    statements;
    IF condition THEN
        EXIT;
    END IF;
END LOOP;

下面是一个示例程序,它使用LOOP循环来接受用户输入,直到用户输入“exit”:

DECLARE
    input VARCHAR2(10);
BEGIN
    LOOP
        DBMS_OUTPUT.PUT('Enter input: ');
        INPUT := UPPER(TRIM(DBMS_INPUT.READ_LINE));
        IF INPUT = 'EXIT' THEN
            EXIT;
        END IF;
        DBMS_OUTPUT.PUT_LINE('You entered: ' || INPUT);
    END LOOP;
END;

这将接受用户输入,直到用户输入“exit”为止。

总之,PL/SQL的循环结构提供了一种灵活和强大的方式来处理需要重复执行的任务。