0

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. LOOPSTART INT;
  3. LOOPEND INT;

どこが間違っていますか?

4

2 に答える 2

3

count_my またはその他の好きなものに使用される変数カウントの名前を変更します

于 2012-11-28T12:33:46.343 に答える
0

COUNT はキーワークです。COUNT の名前を変更すると機能します

于 2012-11-28T12:39:25.823 に答える