%typeだと表にある範囲でしか値をとれないの?って
emp.deptnoは最大値が90ね。step 10 で定義してある。
ともかくエラーが出たんだよ
--select+while declare -- v_cnt emp.deptno%type := 10; --これだとエラーdeptにある範囲でしか値をとれない!? v_cnt number := 10; v_dept dept%rowtype; v_max number; begin select count(*) into v_max from dept; --ループ止める用 while v_cnt <= (v_max * 10) loop select * into v_dept from dept where deptno = v_cnt; dbms_output.put_line(v_dept.deptno||v_dept.dname||v_dept.loc); v_cnt := v_cnt + 10; end loop; end;