キーワード「ALIAS」は実際に使用されていますか?


9

PostgreSQL 7.1から9.1(現在はサポートされていません)によればALIAS、少なくともSQL-99では予約語としてリストされています。それ以降のバージョンでは表示されません-予約語として削除されたことを示しています。古いPostgreSQLのドキュメントには、「キーワードの存在は機能の存在を示すものではありません」と書かれています。テーブルまたは列にエイリアスを付けるとき、私は見ましたが、見ASたことはありませんALIAS

SQLキーワードはどこでALIAS使用されましたか(または使用されましたか)?使用中だったのか、将来使用するために予約されただけなのか。

回答:


16

PostgreSQL では、付録に予約語非予約語のリストを保持していますALIASそのリストにはありません。YACC文法をALIASチェックアウトすることで、PostgreSQLが使用しないことを確認できます。Postgres95 が予約語ではなかった限り(QUELからSQLへの移行における最初のバージョン)ALIAS

SQL標準

  • SQL-92では、ALIASとしてマークされました<reserved word>。しかし、そのために割り当てられた使用はありませんでした<reserved word>

  • SQL-99 ALIASでは「追加予約語」としてマークされ、のリストに追加されました<reserved word>。しかし、そのために割り当てられた使用はありませんでした<reserved word>。おそらく、彼らは後で意味を定義することを意図してこの用語を予約し、別の時点でそれを撤回しました。または、おそらくベンダー定義の実装のための用語を予約しました。PostgreSQLは仕様の予約をドキュメントに反映し、仕様でその予約を削除しました。

  • SQL-2011では、ALIAS場所はありません。「エイリアス」という単語は、「機能T053、「すべてのフィールド参照の明示的なエイリアス」」を参照する場合にのみ表示されます。

SQL SQL-86またはSQL-89のデジタル化されたコピーはありません


8

これは、少なくともDb2のさまざまなフレーバーで使用されALIASます。これは、テーブルなど、別のオブジェクトに別の名前を指定できるようにするオブジェクトです。スキーマを明示的に指定せずに、あるスキーマのオブジェクトから別のスキーマのオブジェクトへの参照を許可するためによく使用されます。

create table SOMEOTHERSCHEMA.FOOBAR (...);
set schema MYSCHEMA;
create alias FOOBAR for SOMEOTHERSCHEMA.FOOBAR;
select * from FOOBAR;

ALIASのエイリアスですSYNONYM。後者の概念は、OracleおよびSQL Serverにも存在します。


4
ALIASは別名ですSYNONYM –うーん、私はあなたが...のALIAS同義語であると言うこともできると思いますSYNONYM
Andriy M


3

実は、ALIASPostgreSQLの全バージョンでキーワードが使われているところがあります。

ただし、SQLではなく、Evanのように明確に文書化されています。ただし、手続き型言語PL / pgSQLでは、パラメータまたは変数のエイリアスを作成します。

これは、Postgres 8.0より前ではより一般的に使用されていましたが、名前付きパラメータはPL / pgSQL関数ではまだサポートされていません。それ以来、ほんの少しのユースケースしか残されていません。マニュアルの結論は次のとおりです。

事前に定義された名前を上書きする目的でのみ使用することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.