如何在 Oracle PL/SQL 类型中定义无参数构造函数?我试过这个:
create or replace type FooBar as object
(
constructor function FooBar() return self as result
);
...
foo_bar := FooBar();
但是类型声明中的空参数列表会引发 PLS-00103。
无参数函数的名称后不需要括号,并且需要为构造函数的主体定义:
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;
/