SQL 解説書

別名

表の別名は、表または視点の代替名とみなすことができます。 このため、SQL ステートメントの中で表または視点は、 名前か表別名のどちらかで参照できます。

別名は、表名または視点名を使用できる場所であればどこででも使用できます。 別名は、オブジェクトが存在していなくても作成することができます (ただし、 オブジェクトを参照するステートメントがコンパイルされる時点では存在している必要があります)。 別名連鎖の中に循環参照または反復参照がない限り、 他の別名を別名によって参照することができます。 別名で参照できるのは、同じデータベース内の表、視点、別名だけです。 別名は、CREATE TABLE や CREATE VIEW ステートメントのような、 新しい表名または視点名の指定が予測される場所では使用できません。たとえば、 PERSONNEL という別名を作成した後で CREATE TABLE PERSONNEL... のような使い方をするとエラーとなります。

構文図や SQL ステートメントの説明では、 別名によって表または視点を参照するというオプションは明示的には示されません。

修飾子なしの新しい別名に、既存の表、視点、 または別名と同じ完全修飾名を付けることはできません。

SQL ステートメントで別名を使用する効果は、テキスト置換の効果に似ています。 別名は SQL ステートメントのコンパイル時には定義されている必要があり、 ステートメントのコンパイル時には修飾子付きの基礎表名または視点名によって置換されます。 たとえば、PBIRD.SALESDSPN014.DIST4_SALES_148 の別名である場合に、 コンパイル時には、

      SELECT * FROM PBIRD.SALES

は、実際には次のようになります。

      SELECT * FROM DSPN014.DIST4_SALES_148

連合システムでは、上記のような使用法と制限は、 表の別名だけでなくニックネームが表す別名にも適用されます。 したがって、ニックネームの代わりにニックネームの別名を SQL ステートメントで使用することも可能です。 別名を参照するステートメントをコンパイルする前にニックネームを作成する場合、 まだ存在していないニックネームに別名をあらかじめ作成しておくこともできます。 あるニックネームの別名に、そのニックネームの他の別名を参照させることもできます。

他のリレーショナル・データベース管理システム・アプリケーションの構文を受け入れるために、 CREATE ALIAS ステートメントと DROP ALIAS ステートメントにおいては、 ALIAS の代わりに SYNONYM を使用できるようになっています。

別名の詳細については、CREATE ALIASを参照してください。


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