カーソルを使用して、ネストされたテーブルの内容を表示したいと考えています。以下を試してみましたが、うまくいきません。「put_line」の引数が正しくありませんが、理由がわかりません。
create or replace type toys_t as table of varchar2(40);
create or replace type kid_t as object (name varchar2(10), toys toys_t);
create table kid of kid_t nested table toys store as table_toys;
insert into kid values('Bob', toys_t('truck','ball','doll'));
select t.* from kid k, table(k.toys) t where k.name = 'Bob';
declare
cursor cursor_table is
select t.* from kid k, table(k.toys) t where k.name = 'Bob';
begin
for i in cursor_table loop
dbms_output.put_line(i);
end loop;
end;
とても簡単です。子供には名前とおもちゃのリストがあり、おもちゃを表示したいのですが、「選択」からではなくカーソルから表示したいのです。
あなたの助けに感謝します。
ボブ