Compiler errors Oracle创建类型时出现编译错误

Compiler errors Oracle创建类型时出现编译错误,compiler-errors,object-oriented-database,Compiler Errors,Object Oriented Database,我创建了一个类型,如下所示: create type age_t as object( dob DATE, member function age_f return number); / 为了定义主体,我编写了以下代码: create or replace type body age_t as( member function age_f return number is v_dob date; age number(3)

我创建了一个类型,如下所示:

create type age_t as object(
    dob DATE,
    member function age_f return number);
    /
为了定义主体,我编写了以下代码:

create or replace type body age_t as(
        member function age_f return number is
        v_dob date;
        age number(3);
        v_dob := to_date(dob);
        begin
        age := trunc(months_between(sysdate,v_dob))/12;
        return age;
        end;
        end;
         );
        /
Oracle向我提供了编译错误消息。 请告诉我问题出在哪里。
我正在使用oracle 11g sql客户端。

在创建主体类型定义中,删除“创建或替换主体年龄为”语句之后“/”之前的括号“()”。 另外,将v_dob:=to_date(dob)语句放入开始和结束部分,或者在创建期间初始化v_dob。即v_dob date:=截止日期(dob)

无编译错误的正确代码

   `create or replace type body age_t as
    member function age_f return number is
    v_dob date := to_date(dob);
    age number(3);
    begin
    age := trunc(months_between(sysdate,v_dob))/12;
    return age;
    end;
    end;
    /`
你可以在这里找到更多