关闭

浅谈Oracle性能优化可能出现的问题

发表于:2010-5-26 10:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  用exit跳出循环,通常情况下,exit只跳出当前层的循环,与其它程序设计语言的break语句类似。在嵌套的循环中,如果要直接从内层循环跳出外面多层的循环,可使用'EXIT 标签 When'形式的语句,举例如下:

1    SQL>   BEGIN
2          <>
3          FOR v_outerloopcounter IN 1..2 LOOP
4               <>
5               FOR v_innerloopcounter IN 1..4 LOOP
6                    DBMS_OUTPUT.PUT_LINE('Outer Loop counter is '
7                         || v_outerloopcounter ||
8                         ' Inner Loop counter is ' || v_innerloopcounter);
9                         EXIT WHEN v_innerloopcounter = 3;
10              END LOOP innerloop;
11         END LOOP outerloop;
12    END;
13    /
Outer Loop counter is 1 Inner Loop counter is 1
Outer Loop counter is 1 Inner Loop counter is 2
Outer Loop counter is 1 Inner Loop counter is 3
Outer Loop counter is 2 Inner Loop counter is 1
Outer Loop counter is 2 Inner Loop counter is 2
Outer Loop counter is 2 Inner Loop counter is 3
PL/SQL procedure successfully completed.

  从上面可以看出,普通情况下,exit只跳出当前层的循环。

1    SQL>   BEGIN
2          <>
3          FOR v_outerloopcounter IN 1..2 LOOP
4               <>
5               FOR v_innerloopcounter IN 1..4 LOOP
6                    DBMS_OUTPUT.PUT_LINE('Outer Loop counter is '
7                         || v_outerloopcounter ||
8                         ' Inner Loop counter is ' || v_innerloopcounter);
9                         EXIT outerloop WHEN v_innerloopcounter = 3;
10              END LOOP innerloop;
11         END LOOP outerloop;
12    END;
13    /
Outer Loop counter is 1 Inner Loop counter is 1
Outer Loop counter is 1 Inner Loop counter is 2
Outer Loop counter is 1 Inner Loop counter is 3
PL/SQL procedure successfully completed.

  从上面可以看出,exit跳出了外层的循环。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号