3

典型的なJava表記を使用したいと思います。タイマーが必要ですが、2つの変数(開始時間と終了時間、およびいくつかのメソッド)だけでパッケージを作成したくありません。

関数を含むことができるインラインパッケージ、タイプ、またはレコードを作成できますか?

4

1 に答える 1

3

オブジェクトを使用できます。

CREATE OR REPLACE TYPE timer  AS OBJECT
(
  start_time  DATE
, end_time    DATE 
, CONSTRUCTOR FUNCTION timer
  RETURN SELF AS RESULT
, MEMBER FUNCTION get_duration
  RETURN NUMBER
)
;
/

CREATE OR REPLACE TYPE BODY timer IS


  CONSTRUCTOR FUNCTION timer      
  RETURN SELF AS RESULT
  IS
  BEGIN
    SELF.start_time := SYSDATE;
    RETURN;
  END;

  MEMBER FUNCTION get_duration
  RETURN NUMBER
  IS
  BEGIN
    RETURN  NVL(SELF.end_time, SYSDATE) - SELF.start_time;
  END get_duration;

END;
/
于 2012-07-19T10:22:23.823 に答える