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


9

Laut PostgreSQL 7.1 bis 9.1 (jetzt nicht unterstützt) ALIASwird es 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 gesehen AS, aber nie ALIAS.

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

Antworten:


16

PostgreSQL führt eine Liste der reservierten und nicht reservierten Begriffe im Anhang . ALIASfehlt in dieser Liste. Sie können überprüfen, ob PostgreSQL nicht verwendet ALIASwird, indem Sie die YACC-Grammatik überprüfen . Schon Postgres95 ALIASwar kein reserviertes Wort (die erste Version bei der Migration von QUEL nach SQL)

SQL Standard

  • In SQL-92 wurde ALIASals markiert <reserved word>; Dafür wurde jedoch keine Verwendung zugewiesen <reserved word>.

  • In SQL-99 ALIASwurde als "Zusätzliches reserviertes Wort" markiert und zur Liste von hinzugefügt <reserved word>; Dafür wurde jedoch keine Verwendung zugewiesen <reserved word>. 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 ALIASist kein Ort 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


8

Es wird zumindest in verschiedenen Varianten von Db2 verwendet: ALIASist 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;

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


4
ALIASist ein Alias ​​fürSYNONYM - hmm, ich denke man könnte auch sagen ALIASist ein Synonym für SYNONYM...
Andriy M


3

Tatsächlich gibt es einen Ort, an dem das Schlüsselwort ALIASin allen Versionen von PostgreSQL verwendet wird.

Nicht in SQL, wie Evan klar dokumentiert . Aber in der prozeduralen 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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.