Postgresql

關鍵字“ALIAS”是否實際使用?

  • February 3, 2019

根據 PostgreSQL 7.1 到 9.1(現在不支持),ALIAS被列為保留字,至少對於 SQL-99。後來的版本沒有顯示它 - 表明它已作為保留字被刪除。舊的 PostgreSQL 文件確實說過*“關鍵字的存在並不表示特性的存在”。*當給我見過的表或列起別名時AS,但從來沒有ALIAS

SQL 關鍵字在哪裡(或曾經)在哪裡ALIAS使用?它曾經被使用過還是只保留供將來使用?

PostgreSQL 在附錄中維護了一個保留非保留術語的列表。ALIAS不在該列表中。ALIAS您可以通過檢查YACC 語法來驗證 PostgreSQL 不使用。甚至早在Postgres95ALIAS就不是保留字(從 QUEL 遷移到 SQL 的第一個版本)

SQL 標準

  • 在 SQL-92 中,ALIAS被標記為<reserved word>; 但是,沒有為此分配任何用途<reserved word>
  • 在 SQL-99ALIAS中被標記為“附加保留字”,並添加到列表中<reserved word>;但是,沒有為此分配任何用途<reserved word>。也許他們保留該術語是為了稍後定義含義,然後在不同的時候將其撤回。或者,也許他們保留了供應商定義實現的術語。PostgreSQL 在文件中反映了規範的保留,然後使用規範刪除了該保留。
  • 在 SQL-2011ALIAS中,找不到“別名”一詞,僅在引用*“功能 T053,“所有欄位引用的顯式別名”時出現*

ℹ 沒有SQL-86SQL-89的數字化副本

它至少在 Db2 的各種風格中使用:ALIAS是一個允許您為另一個對象指定不同名稱的對象,例如 table。它經常用於允許在一個模式中引用另一個模式中的對象,而無需明確指定該模式。

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

ALIASSYNONYM;的別名 後一種概念也存在於 Oracle 和 SQL Server 中。

引用自:https://dba.stackexchange.com/questions/227095