oracle 中的循环语句允许重复执行代码段,分为 for、while 和 do while。for 循环利用循环变量遍历特定范围,while 循环在条件为真时执行,do while 循环在条件为假时停止执行。例如,for 循环可以逐个打印数字,while 循环可以持续读取用户输入,do while 循环可以不断询问用户是否继续。
Oracle 循环语句的使用
循环语句是什么?
循环语句是一种允许重复执行一组语句的语句。
Oracle 中的循环语句类型
Oracle 中提供了以下类型的循环语句:
- FOR 循环
- WHILE 循环
- DO WHILE 循环
FOR 循环
格式:
FOR loop_variable IN start_value .. end_value [BY increment_value] LOOP
-- 循环体
END LOOP;
- loop_variable:循环变量,用于控制循环。
- start_value:循环的起始值。
- end_value:循环的结束值。
- increment_value:循环变量在每次迭代中的增量值,默认为 1。
WHILE 循环
格式:
WHILE condition LOOP
-- 循环体
END LOOP;
- condition:循环执行的条件。当条件为真时,循环继续执行。
DO WHILE 循环
格式:
DO
-- 循环体
END WHILE condition;
- condition:循环执行的条件。当条件为假时,循环结束。
循环语句示例
FOR 循环:
打印 1 到 10 的数字:
FOR i IN 1 .. 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
WHILE 循环:
读取用户输入,直到输入为空:
DECLARE
str VARCHAR2(20);
BEGIN
WHILE TRUE LOOP
DBMS_OUTPUT.PUT_LINE('Enter a string (or press Enter to quit):');
str := UPPER(DBMS_INPUT.GET_LINE);
EXIT WHEN str = '';
END LOOP;
END;
DO WHILE 循环:
重复询问用户是否继续,直到输入“N”:
DECLARE
ch VARCHAR2(1);
BEGIN
DO
DBMS_OUTPUT.PUT_LINE('Do you want to continue (Y/N)?');
ch := UPPER(DBMS_INPUT.GET_LINE(1));
END WHILE ch 'N';
END;