【问题标题】:Confusion in Nested loop in sql plussql plus中嵌套循环的困惑
【发布时间】:2012-11-28 12:29:35
【问题描述】:

我在 sql*plus 中使用IF 条件,但在内循环中无法访问外循环的变量。这是我的声明:

DECLARE
  LOOPSTART INT;
  LOOPEND INT;
  VALUE INT;
  CURSOR EMPID IS (SELECT EMPNO FROM EMP);
BEGIN
  SELECT EMPNO INTO LOOPSTART FROM emp WHERE ROWNUM <= 1;
  SELECT MAX(EMPNO) INTO LOOPEND FROM EMP;

  FOR COUNT IN LOOPSTART..LOOPEND LOOP
    BEGIN
      FOR EMPID1 IN EMPID LOOP
        IF (EMPID1.EMPNO != COUNT) THEN
          DBMS_OUTPUT.PUT_LINE(LOOPSTART);
          exit;
        END IF;
      END LOOP;
    END;
  END LOOP;
END;

这个错误来了:

ORA-06550:第 13 行,第 22 列: PLS-00204:函数或伪列 'COUNT' 只能在 SQL 语句中使用 ORA-06550:第 13 行,第 2 列: PL/SQL:语句被忽略

  1. 声明
  2. 循环启动;
  3. 循环整数;

我哪里错了?

【问题讨论】:

  • 将计数重命名为 count1 之类的其他名称
  • thnx... 半小时后才发现错误。

标签: oracle sqlplus


【解决方案1】:

重命名用于 count_my 或任何其他你喜欢的东西的变量计数

【讨论】:

    【解决方案2】:

    COUNT 是一个keywork 重命名它会起作用的 COUNT

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      相关资源
      最近更新 更多