何を達成しようとしているのかわかりませんが、オラクルのオブジェクトの概念を誤解していると思います。私の例では、
1)テーブルstudensはこのスクリプトで作成されますcreate table student of student_t;
drop table student;
タイプスペックとボディを作成します。
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;
スタッドネットのテーブルを作成する
create table student of student_t;
テーブルにデータを入力する
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;
そしてクエリ。
select s.*,s.getYear() from student s;