DEREF スカラー関数

DEREF 関数は引数のターゲット・タイプのインスタンスを戻します。

構文図を読む構文図をスキップするDEREF(expression)
expression
定義された有効範囲を持つ参照データ・タイプの値を戻す式です (SQLSTATE 428DT)。

結果の静的データ・タイプは、引数のターゲット・タイプです。 結果の動的データ・タイプは、引数のターゲット・タイプのサブタイプです。 結果は NULL になる場合があります。expression が NULL 値か、 または expression が突き合わせする OID がターゲット表にない参照の場合、 結果は NULL 値になります。

結果は参照のターゲット・タイプのサブタイプのインスタンスです。 結果は参照値と突き合わせするオブジェクト ID がある参照の、 ターゲット表またはターゲット・ビューの行を検出することにより決定されます。 この行のタイプによって結果の動的タイプが決定されます。 結果のタイプがターゲット表の副表の行またはターゲット・ビューのサブビューの行に基づく場合があるため、 ステートメントの許可 ID にはターゲット表とその副表のすべて、 またはターゲット・ビューとそのサブビューのすべての SELECT 特権が必要です (SQLSTATE 42501)。

EMPLOYEE はタイプ EMP の表であり、そのオブジェクト ID 列は EMPID であるとします。 次の照会は、EMPLOYEE 表 (およびその副表) の行ごとに、 タイプ EMP (またはそのサブタイプのいずれか) のオブジェクトを戻します。 この照会では、EMPLOYEE およびその副表すべてに対する SELECT 権限が必要です。
   SELECT DEREF(EMPID) FROM EMPLOYEE