以下のコードを試してみると、問題なく動作します。
declare
type v_varray is varray(50) of emp%rowtype;
v_emp_details v_varray;
begin
select * bulk collect into v_emp_details from emp where dept_id = 1;
for i in 1 .. v_emp_details.count
loop
dbms_output.put_line('Emp Name : ' || v_emp_details(i).emp_name);
end loop;
end;
しかし、次のようなデータベース オブジェクトとして VARRAY を作成しようとすると、次のようになります。
create or replace type xyz is varray(20) of emp%ROWTYPE
これによりコンパイルエラーが発生するのはなぜですか?