Saya tidak yakin apa yang ingin Anda capai tetapi saya pikir Anda salah memahami konsep objek di Oracle. Dalam contoh saya, saya berasumsi
1) Tabel siswa dibuat dengan skrip ini create table student of student_t;
drop table student;
Buat tipe spec dan body.
create or replace type student_t as object(
stno char(4),
dob date,
member function getYear return number
)
;
create or replace type body student_t as
member function getYear return number is
begin
return EXTRACT(YEAR FROM self.dob);
end;
end;
Buat tabel studnet
create table student of student_t;
Isi tabel
declare
v_student student_t;
begin
for i in 0 .. 10 loop
insert into student values(student_t('ST'||+mod(i,3),to_date('01-01-'||to_char(2000+i),'dd-mm-yyyy')));
end loop;
commit;
end;
Dan kuerinya.
select s.*,s.getYear() from student s;