1

如何在 Oracle PL/SQL 类型中定义无参数构造函数?我试过这个:

create or replace type FooBar as object
(
    constructor function FooBar() return self as result
);

...

foo_bar := FooBar();

但是类型声明中的空参数列表会引发 PLS-00103。

4

1 回答 1

5

无参数函数的名称后不需要括号,并且需要为构造函数的主体定义:

create or replace type FooBar as object
(
    bar NUMBER(1,0)
    ,constructor function FooBar return self as result
);
/


create or replace type body FooBar is

    constructor function FooBar return self as result
    IS
    BEGIN
    RETURN;
    END;
end;
/


    declare 
     foo foobar;
    begin
      foo := foobar();
    end;
   /
于 2012-09-07T08:44:17.030 回答