局部变量和循环变量同名 PL/SQL陷阱

1.局部变量和循环变量同名,出了循环还是局部变量
declare
i number;
begin
i:=0;
for i in 1..3 loop
dbms_output.put_line(i);
end loop;
dbms_output.put_line('------');
dbms_output.put_line(i);
end;
/
1
2
3
------
0

    --标号的新用法

BEGIN
<<outer_loop>>
  FOR i IN 1..3 LOOP  -- assign the values 1,2,3 to i
    <<inner_loop>>
    FOR i IN 1..3 LOOP
      IF outer_loop.i = 2 THEN
        DBMS_OUTPUT.PUT_LINE( 'outer: ' || TO_CHAR(outer_loop.i) || ' inner: ' 
                              || TO_CHAR(inner_loop.i));
      END IF;
    END LOOP inner_loop;
  END LOOP outer_loop;
END;

猜你喜欢

转载自baobaojinjin.iteye.com/blog/1335734