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

PL/SQL嵌套循环演示代码遇>符号编译报错问题求解

报错原因排查
  • 核心语法错误是循环标签定义不完整:PL/SQL 中命名循环的语法规范为 <<自定义标签名>>,你代码中两层循环前的标签都写成了空的 <<>>,没有填写后续EXIT语句用到的outer_loop、inner_loop标签名,语法解析不通过就触发了符号不匹配的报错。
  • 次要问题是代码中存在HTML转义字符:你贴出的代码里的&gt;是大于号>的HTML编码格式,实际编写PL/SQL代码时需要替换为原生的>符号(如果是代码粘贴时自动转义的可以忽略这条,仅修复标签问题即可)。
修复方案

补充两层循环的标签名称即可正常运行,修复后的完整代码如下:

DECLARE
  m PLS_INTEGER := 0;
  n PLS_INTEGER := 0;
  k PLS_INTEGER;
BEGIN
  <<outer_loop>>
  LOOP
    n := n + 1;
    k := 0;
    DBMS_OUTPUT.PUT_LINE ('The values of inner loop are: ');
    <<inner_loop>>
    LOOP
      k := k + 1;
      m := m + n * k; -- Sum several products

      EXIT inner_loop WHEN (k > 3);
      DBMS_OUTPUT.PUT_LINE ('n='||TO_CHAR(n)||' k='||TO_CHAR(k)||' m='||TO_CHAR(m));
      EXIT outer_loop WHEN ((n * k) > 6); 
    END LOOP inner_loop;
  END LOOP outer_loop;
  DBMS_OUTPUT.PUT_LINE('The total sum after completing the process is: ' || TO_CHAR(m)); 
END;
/
运行输出参考
The values of inner loop are: 
n=1 k=1 m=1
n=1 k=2 m=3
n=1 k=3 m=6
The values of inner loop are: 
n=2 k=1 m=8
n=2 k=2 m=12
The total sum after completing the process is: 12

内容的提问来源于stack exchange,提问作者Kaushik Paul

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:45:03