Type aTypt is record(
a char(1),
b number(2),
c varchar2(3)
);
aRecord aTypt;
cursor cur is
/* 情況1*/
select 'a' a,'ccc' c from dual;
/*
* 如果cursor是這樣,情況2
* cursor cur is
* select 'a',12,'ccc' from dual;
*/
rec cur%rowtype;
begin
open cur;
loop
fetch cur into rec;
exit when cur%notfound;
/*
*對應情況1
* 如果寫成aRecord := rec;因爲他們不併不對應。
*/
aRecord.a := rec.a;
aRecord.c := rec.c;
/*
* 對應情況2,
* 用 aRecord := rec;因爲從rec取出的值和type是一致的
*/
-- aRecord := rec;
end loop;
aRecord.b := 21;
dbms_output.put_line(aRecord.a);
dbms_output.put_line(aRecord.b);
dbms_output.put_line(aRecord.c);
end;