シノニム (非推奨)
シノニムは、表またはビューの代替名です。 シノニムは、既存の表またはビューが参照できる場合にその表またはビューを参照するために使用できます。
ただし、 Db2 では、新しいシノニムの作成はサポートされなくなりました。
未サポート関数
FL 504 Db2 12 以降、APPLCOMPAT( ) 以降でバインドされたパッケージでは、CREATE SYNONYM文を発行できなくなりました。V12R1M504 多少の違いはありますが、エイリアスを使用することもできます。 同義語とは異なり、エイリアスはすべての Db2 ファミリー製品で同じ動作をします。 エイリアスの詳細については、 「エイリアス」 および 「CREATE ALIAS ステートメント」 を参照してください。 既存のシノニムはサポートされたままですが、将来サポートされない可能性があります。
FL 504 Db2 12 以降、APPLCOMPAT( ) 以降でバインドされたパッケージでは、CREATE SYNONYM文を発行できなくなりました。V12R1M504 多少の違いはありますが、エイリアスを使用することもできます。 同義語とは異なり、エイリアスはすべての Db2 ファミリー製品で同じ動作をします。 エイリアスの詳細については、 「エイリアス」 および 「CREATE ALIAS ステートメント」 を参照してください。 既存のシノニムはサポートされたままですが、将来サポートされない可能性があります。
シノニムと別名の違い
以下の表に、非推奨になった別名と同義語の違いを要約します。
| 特性 | シノニム (非推奨) | 別名 |
|---|---|---|
FL 504 アプリケーション互換性 V12R1M504 以上で作成可能?![]() |
いいえ![]() |
はい![]() |
| 作成するには許可が必要ですか? | いいえ | はい |
| 現行サーバーにないオブジェクトに対して定義できますか? | いいえ | はい |
| まだ存在していないオブジェクトの名前で定義できますか? | いいえ | はい。ただし、別名を使用する場合はオブジェクトが存在している必要があります。 |
| 参照されているオブジェクトがドロップされるときにドロップされますか? | はい | いいえ |
| オブジェクトに修飾オブジェクト名を使用しますか? | いいえ。1 部構成の名前を使用します。 | はい |
| オブジェクト所有者以外のユーザーが参照または使用できますか? | いいえ | はい |
シノニムによって表またはビューを参照するオプションは、構文図には明示的に示されていません。また、SQL ステートメントの説明にも示されていません。 しかし、SQL文では同義語を参照することができます。
表やビューと同様に、シノニムをドロップして、コメントに関連付けることができます。 シノニムを使用するために権限は必要ありません。 ただし、シノニムによって参照される表およびビューにアクセスするには、やはり、現行ステートメントに対する適切な許可が必要です。
シノニム名は、DROP SYNONYMのようにキーワードSYNONYMが先行する場合、シノニムを指定する。 これ以外では、シノニムは表またはビューを示します。 これ以外では、シノニムはローカルの表またはビューを示すものであり、 SQL ステートメントの中で表またはビューの名前を使えるところであれば、 どこでも使用することができます。
SQL ステートメントでシノニムを使うことは、テキスト置換を行うことと同じです。 例えば、S が Q.T の同義語である場合、SELECT * FROM
S の準備に関係するステップの 1 つは、「S」を「Q.T」に置き換えることです。