在sql plus中嵌套循环中的混淆

时间:2012-11-28 12:29:36

标签: oracle sqlplus

我在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. DECLARE
  2. LOOPSTART INT;
  3. LOOPEND INT;
  4. 我哪里出错?

2 个答案:

答案 0 :(得分:3)

重命名用于计算我或您喜欢的任何其他内容的变量计数

答案 1 :(得分:0)

COUNT是关键字重命名它将起作用的COUNT