0

在 SQL 中,如何创建一个简单的方法来从对象中检索值?

这是代码:

create type CurrentUser_objtyp as Object (
CurrUserName varchar2(20),
CurrUserPassword varchar2(20),
CurrUserType varchar2(15)
)
/

如何从方法中检索 CurrUserName 的值?

4

1 回答 1

1

由于 Oracle SQL 类型只允许公共属性,因此没有必要为它们创建 getter 和 setter 方法。

但一般原则是创建成员方法:

create type CurrentUser_objtyp as Object (
CurrUserName varchar2(20),
CurrUserPassword varchar2(20),
CurrUserType varchar2(15),
member function getname return varchar2
)
/

您需要为实现编写一个主体,它基本上是 PL/SQL:

create type body CurrentUser_objtyp as 

    member function getname return varchar2
    is
    begin
         return self.CurrUserName;
    end;
end;
/

“我如何在上面的代码中调用成员函数?”

要调用成员函数(或过程),我们首先必须实例化对象。使用对象有多种不同的方式,但这里还是最简单的:

declare
    currUser CurrentUser_objtyp := new CurrentUser_objtyp('MR KNOX', 'PASSWORD1', 'MANAGER');
begin
    dbms_output.put_line('user name is '||currUser.getname);
end;
/

Oracle 为他们的 Object-Relational 构造提供了完整的手册。您应该阅读它以了解更多信息

于 2013-05-20T05:49:43.653 回答