it-swarm.com.de

Wird das Schlüsselwort "ALIAS" tatsächlich verwendet?

Gemäß PostgreSQL 7.1 bis 9.1 (jetzt nicht unterstützt) wird ALIAS zumindest für SQL-99 als reserviertes Wort aufgeführt. Spätere Versionen zeigen es nicht an - was darauf hindeutet, dass es als reserviertes Wort gelöscht wurde. In den alten PostgreSQL-Dokumenten heißt es "das Vorhandensein eines Schlüsselworts zeigt nicht das Vorhandensein eines Features an." Beim Aliasing einer Tabelle oder Spalte habe ich AS gesehen, aber niemals ALIAS.

Wo wird (oder wurde) das SQL-Schlüsselwort ALIAS verwendet? War es jemals in Gebrauch oder nur für zukünftige Verwendung reserviert?

PostgreSQL verwaltet eine Liste reservierter und nicht reservierter Begriffe im Anhang . ALIAS fehlt in dieser Liste. Sie können überprüfen, ob PostgreSQL ALIAS nicht verwendet, indem Sie die YACC-Grammatik überprüfen. Schon Postgres95 ALIAS war kein reserviertes Wort (die erste Version bei der Migration von QUEL nach SQL)

SQL Standard

  • In SQL-92 wurde ALIAS als <reserved Word> Markiert. Für diesen <reserved Word> wurde jedoch keine Verwendung zugewiesen.

  • In SQL-99 wurde ALIAS als "zusätzliches reserviertes Wort" markiert und zur Liste von <reserved Word> Hinzugefügt. Für diesen <reserved Word> wurde jedoch keine Verwendung zugewiesen. Vielleicht haben sie den Begriff mit der Absicht reserviert, die Bedeutung später zu definieren, und ihn dann an einer anderen Stelle zurückgezogen. Oder sie haben den Begriff für die vom Hersteller definierte Implementierung reserviert. PostgreSQL spiegelte die Reservierung der Spezifikation in den Dokumenten wider und entfernte diese Reservierung dann mit der Spezifikation.

  • In SQL-2011 ist ALIAS nicht zu finden, und das Wort "Alias" wird nur in Bezug auf 'Feature T053, "Explizite Aliase für die Referenz aller Felder"' Angezeigt =

ℹ Es gibt keine digitalisierte Kopie von SQL-86 oder SQL-89

16
Evan Carroll

Es wird zumindest in verschiedenen Varianten von Db2 verwendet: ALIAS ist ein Objekt, mit dem Sie einen anderen Namen für ein anderes Objekt wie table angeben können. Es wird häufig verwendet, um Verweise in einem Schema auf Objekte in einem anderen Schema zuzulassen, ohne dieses Schema explizit anzugeben.

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

ALIAS ist ein Alias ​​für SYNONYM; Das letztere Konzept existiert auch in Oracle und SQL Server.

8
mustaccio

Tatsächlich gibt es eine Stelle, an der das Schlüsselwort ALIAS in allen Versionen von PostgreSQL verwendet wird.

Nicht in SQL, wie Evan klar dokumentiert . Aber in der prozedurale Sprache PL/pgSQL , um Aliase für Parameter oder Variablen zu erstellen.

Es wurde häufiger vor Postgres 8.0 verwendet, während benannte Parameter für PL/pgSQL-Funktionen noch nicht unterstützt wurden. Seitdem sind nur noch wenige Anwendungsfälle übrig. Das Handbuch schließt :

Es ist am besten, es nur zum Überschreiben vorgegebener Namen zu verwenden.

3