【发布时间】: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:语句被忽略
- 声明
- 循环启动;
- 循环整数;
我哪里错了?
【问题讨论】:
-
将计数重命名为 count1 之类的其他名称
-
thnx... 半小时后才发现错误。