Scott スキーマで次を実行しています。
SET serveroutput ON;
BEGIN
FOR c_Emp IN (SELECT * FROM emp)
LOOP
dbms_output.put_line('The record processed by the cursor ' || c_Emp%rowcount);
END LOOP;
end;
これにより、次のエラーが発生します。
カーソル属性は、非カーソル 'C_EMP' には適用されない可能性があります
ただし、明示カーソルを使用してこれを行うと、問題なく動作します。
サーバー出力をオンに設定します。
DECLARE
emp_record emp%ROWTYPE;
count_variable NUMBER;
CURSOR c IS
SELECT * FROM emp;
BEGIN
OPEN c;
loop
fetch c INTO emp_record;
exit WHEN c%notfound;
dbms_output.put_line ('The record count is ' || c%rowcount);
END loop;
close c;
end;
理解したいだけです:CURSOR FOR LOOPを使用しているときに、インデックス変数がカーソル属性ではないかどうか、もしそうならなぜですか?誰かがこれを説明してくれませんか....