SQL 解説書

DEREF

>>-DEREF---(--expression--)------------------------------------><
 

スキーマは SYSIBM です。

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

引き数は、 効力範囲が定義された参照データ・タイプが指定されている任意の値にすることができます (SQLSTATE 428DT)。

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

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

例:

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

     SELECT DEREF(EMPID) FROM EMPLOYEE

別の例については、TYPE_NAMEを参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]