Oracle存储过程中使用循环处理 
                                                    
                        
                    
                    
  
                    
                    在Oracle PL/SQL中,循环可以通过多种方式实现,包括 FOR 循环、WHILE 循环和 LOOP 结构。下面是一些示例,展示如何使用这些循环结构。
1. FOR 循环
FOR 循环用于遍历一个范围或集合。以下是一个简单的示例,打印从 1 到 10 的数字:
BEGIN
    FOR i IN 1..10 LOOP
        DBMS_OUTPUT.PUT_LINE('Number: ' || i);
    END LOOP;
END;
/2. WHILE 循环
WHILE 循环在条件为真时执行。以下示例打印从 1 到 10 的数字:
DECLARE
    i NUMBER := 1;
BEGIN
    WHILE i <= 10 LOOP
        DBMS_OUTPUT.PUT_LINE('Number: ' || i);
        i := i + 1;  -- 增加计数器
    END LOOP;
END;
/3. LOOP 结构
LOOP 结构是一个基本的循环结构,可以通过 EXIT 语句来控制循环的结束。以下示例展示了如何使用 LOOP 结构:
DECLARE
    i NUMBER := 1;
BEGIN
    LOOP
        DBMS_OUTPUT.PUT_LINE('Number: ' || i);
        i := i + 1;
        EXIT WHEN i > 10;  -- 当 i 大于 10 时退出循环
    END LOOP;
END;
/4. 遍历游标
如果你需要遍历查询结果,可以使用游标。以下示例展示了如何使用游标循环遍历表中的数据:
DECLARE
    CURSOR emp_cursor IS
        SELECT id, name FROM employees;  -- 假设有一个 employees 表
    emp_record emp_cursor%ROWTYPE;  -- 定义记录类型
BEGIN
    OPEN emp_cursor;
    LOOP
        FETCH emp_cursor INTO emp_record;
        EXIT WHEN emp_cursor%NOTFOUND;  -- 如果没有更多记录,退出循环
        DBMS_OUTPUT.PUT_LINE('ID: ' || emp_record.id || ', Name: ' || emp_record.name);
    END LOOP;
    CLOSE emp_cursor;  -- 关闭游标
END;
/说明
- DBMS_OUTPUT.PUT_LINE:用于输出信息到控制台,确保在执行前启用 DBMS_OUTPUT。
- EXIT:用于退出循环的条件语句。
- 游标:用于从查询中获取数据,支持遍历结果集。
本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           raybon 的个人博客
 raybon 的个人博客
         
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号