SQL で、オブジェクトから値を取得する単純なメソッドを作成するにはどうすればよいですか?
コードは次のとおりです。
create type CurrentUser_objtyp as Object (
CurrUserName varchar2(20),
CurrUserPassword varchar2(20),
CurrUserType varchar2(15)
)
/
メソッドから CurrUserName の値を取得するにはどうすればよいですか?
SQL で、オブジェクトから値を取得する単純なメソッドを作成するにはどうすればよいですか?
コードは次のとおりです。
create type CurrentUser_objtyp as Object (
CurrUserName varchar2(20),
CurrUserPassword varchar2(20),
CurrUserType varchar2(15)
)
/
メソッドから CurrUserName の値を取得するにはどうすればよいですか?
Oracle SQL 型では public 属性しか許可されないため、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 は、オブジェクト リレーショナル コンストラクトのマニュアル全体を作成しました。詳細については、それをお読みください。