Oracle plsql对象成员函数

时间:2014-02-04 03:39:29

标签: oracle object plsql

假设一个对象被创建为:

CREATE OR REPLACE type test_obj as object ( 
  item varchar2(20),
  constructor function test_obj return self as result
)

CREATE OR REPLACE type body test_obj as
  constructor function test_obj return self as result as
  begin
    self.item := 'xyz';
    return;
  end;
end;

然后它可以在plsql中用作:

declare
  x test_obj; 
begin
  x:= test_obj();
end;

可以创建成员函数并调用它们,如:

x test_obj := test_obj();
y number;    
y := x.somefunction('abc');

是否可以创建成员函数来支持这种语法:

x test_obj := test_obj();
y number;    
y := x('abc');

1 个答案:

答案 0 :(得分:0)

我认为这是不可能的。这样就会破坏面向对象方法的目的。 由于x是对象类型的实例,因此您必须使用点表示法调用其方法。

BR, TVS