PostgreSQL 7.1から9.1(現在はサポートされていません)によれば、ALIAS
は少なくともSQL-99では予約語としてリストされています。それ以降のバージョンでは表示されません-予約語として削除されたことを示唆しています。古いPostgreSQLのドキュメントには"キーワードの存在は機能の存在を示すものではありません。"テーブルまたは列のエイリアスを作成するとき、AS
は見ましたが、ALIAS
は見ていません。
SQLキーワードALIAS
はどこで使用されましたか(または使用されましたか)?使用中だったのか、将来使用するために予約されただけなのか。
PostgreSQLは、予約済みおよびの予約されていない用語のリストを付録に保持しています 。 ALIAS
はそのリストにはありません。 YACC grammar をチェックアウトすることで、PostgreSQLがALIAS
を使用しないことを確認できます。 Postgres95 ALIAS
は予約語ではありませんでした(QUELからSQLへの移行における最初のバージョン)
ALIAS
ALIAS
ALIAS
ALIAS
( "reserved keyword"の潜在的な将来のキーワードとしてリスト)SQL-92では、ALIAS
は<reserved Word>
としてマークされていました。しかし、その<reserved Word>
に割り当てられた使用はありませんでした。
SQL-99では、ALIAS
は「追加の予約語」としてマークされ、<reserved Word>
のリストに追加されました。しかし、その<reserved Word>
に割り当てられた使用はありませんでした。おそらく、後で意味を定義することを意図してこの用語を予約し、別の時点でそれを撤回しました。または、おそらくベンダー定義の実装のための用語を予約しました。 PostgreSQLは仕様の予約をドキュメントに反映し、仕様でその予約を削除しました。
SQL-2011では、ALIAS
はどこにもありません。「エイリアス」という単語はの参照でのみ表示されます。機能T053、「すべてのフィールドの参照の明示的なエイリアス」 '
これは、少なくともDb2のさまざまなフレーバーで使用されます。 ALIAS
は、テーブルなど、別のオブジェクトに別の名前を指定できるようにするオブジェクトです。スキーマを明示的に指定せずに、あるスキーマのオブジェクトから別のスキーマのオブジェクトへの参照を許可するためによく使用されます。
create table SOMEOTHERSCHEMA.FOOBAR (...);
set schema MYSCHEMA;
create alias FOOBAR for SOMEOTHERSCHEMA.FOOBAR;
select * from FOOBAR;
ALIAS
はSYNONYM
のエイリアスです。後者の概念は、OracleおよびSQL Serverにも存在します。
実際、PostgreSQLのすべてのバージョンでキーワードALIAS
が使用されている場所があります。
ただし、SQLではない Evanは明確に文書化されています のように。しかし 手続き型言語PL/pgSQL では、パラメータまたは変数のエイリアスを作成します。
これは、Postgres 8.0より前ではより一般的に使用されていましたが、名前付きパラメータはPL/pgSQL関数ではまだサポートされていません。それ以来、ほんの少しのユースケースしか残されていません。 マニュアルの結論:
事前に定義された名前を上書きする目的でのみ使用することをお勧めします。