在Oracle中,循环控制结构主要用于重复执行一段代码,直到满足特定条件
- 使用FOR循环:
DECLARE
v_sum NUMBER := 0;
BEGIN
FOR i IN 1..10 LOOP
v_sum := v_sum + i;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Sum of numbers from 1 to 10: ' || v_sum);
END;
/
- 使用WHILE循环:
DECLARE
v_counter NUMBER := 1;
v_sum NUMBER := 0;
BEGIN
WHILE v_counter <= 10 LOOP
v_sum := v_sum + v_counter;
v_counter := v_counter + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Sum of numbers from 1 to 10: ' || v_sum);
END;
/
- 使用CURSOR循环:
DECLARE
CURSOR c_employees IS SELECT employee_id, salary FROM employees;
v_total_salary NUMBER := 0;
BEGIN
FOR rec IN c_employees LOOP
v_total_salary := v_total_salary + rec.salary;
END LOOP;
DBMS_OUTPUT.PUT_LINE('Total salary of all employees: ' || v_total_salary);
END;
/
在这些示例中,我们使用了不同类型的循环控制结构。在FOR循环和WHILE循环中,我们使用了变量v_sum来累加求和,而在CURSOR循环中,我们使用了变量v_total_salary来计算所有员工的薪水总和。这些示例展示了如何在Oracle循环控制中使用变量。