loop begin ... .... if ... then begin .... end; end if; ... end; end loop;
while(条件) loop ..... exit when 条件; .... end loop;
有三种循环 1、loop exit when 条件; ............. end loop; 2、 while 条件 loop .............. end loop; 3、for i in 1..100 loop .......... end loop; 还有一种是用隐式游标来实现的: for idx in (select a, b from tableA) loop ................ end loop;
例如: DECLARE CURSOR c1 IS SELECT * FROM emp FOR UPDATE OF sal; BEGIN FOR i IN c1 LOOP
IF (i.sal+i.sal*0.1)<=5000 THEN UPDATE emp SET sal=sal+sal*0.1 WHERE CURRENT OF c1; DBMS_OUTPUT.PUT_LINE(i.sal); END IF;
begin ...
....
if ... then
begin
....
end;
end if;
...
end;
end loop;
loop
.....
exit when 条件;
....
end loop;
1、loop
exit when 条件;
.............
end loop;
2、 while 条件 loop
..............
end loop;
3、for i in 1..100 loop
..........
end loop;
还有一种是用隐式游标来实现的:
for idx in (select a, b from tableA) loop
................
end loop;
DECLARE
CURSOR c1 IS SELECT * FROM emp FOR UPDATE OF sal; BEGIN
FOR i IN c1
LOOP
IF (i.sal+i.sal*0.1)<=5000 THEN
UPDATE emp SET sal=sal+sal*0.1 WHERE CURRENT OF c1;
DBMS_OUTPUT.PUT_LINE(i.sal);
END IF;
END LOOP;
END;