You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PL/SQL Continue语句疑问:为何代码执行后最终输出2?

PL/SQL Continue语句执行逻辑解析

你的核心错误是混淆了Continue和Exit语句的作用:Continue并不会停止整个循环,它只是跳过当前循环迭代中剩余的代码,直接进入下一次循环的判断。

我们一步步拆解这段代码的执行流程:

第一次循环(i=1)

  • 执行dbms_output.put_line(i),输出1
  • 判断continue when i>1:i=1不满足i>1的条件,不执行Continue
  • 继续执行后续代码,dbms_output.put_line('oracle')输出oracle
  • 本次循环结束,进入下一次迭代

第二次循环(i=2)

  • 先执行dbms_output.put_line(i),输出2
  • 判断continue when i>1:i=2满足条件,触发Continue语句
  • 直接跳过后续的dbms_output.put_line('oracle'),本次循环剩余代码不再执行
  • 循环迭代结束,由于i已经达到范围上限2,整个循环终止

所以最终输出顺序是:1 → oracle → 2,和你看到的结果一致。

内容的提问来源于stack exchange,提问作者moon light

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:03:21