%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;