Насправді використовується ключове слово "ALIAS"?


9

Відповідно до PostgreSQL 7.1 - 9.1 (зараз не підтримується), ALIASвказується як зарезервоване слово, принаймні для SQL-99. Пізніші версії цього не показують - це дозволяє припустити, що воно було викинуто як зарезервоване слово. Старі документи PostgreSQL говорять, що "наявність ключового слова не вказує на існування функції". Коли я бачив таблицю чи колонку, я бачив AS, але ніколи ALIAS.

Де використовується (або було) ключове слово SQL ALIAS? Це було коли-небудь у вжитку чи лише коли-небудь зарезервоване для майбутнього використання?

Відповіді:


16

PostgreSQL підтримує список доданих та незарезервованих термінів у додатку . ALIASвідсутній у цьому списку. Ви можете перевірити, що PostgreSQL не використовує ALIAS, перевіривши граматику YACC . Навіть коли Postgres95 ALIASне був зарезервованим словом (перша версія при переході від QUEL до SQL)

SQL Standard

  • У SQL-92 ALIASпозначено як <reserved word>; але не було призначено для цього використання <reserved word>.

  • У SQL-99 ALIASбуло позначено як "Додаткове зарезервоване слово" та додано до списку <reserved word>; але не було призначено для цього використання <reserved word>. Можливо, вони зарезервували термін з наміром визначити значення пізніше, а потім відкликали його в інший момент. Або, можливо, вони зарезервували термін для визначеної виробником реалізації. PostgreSQL відобразив резервування специфікації в документах, а потім видалив це резервування із специфікацією.

  • У SQL-2011 ALIASнемає де його знайти, а слово "псевдонім" з'являється лише у посиланні на "Особливість T053," Явні псевдоніми для посилань на всі поля ""

ℹ Немає оцифрованої копії 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...
Андрій М


3

Насправді є місце, де ключове слово ALIASвикористовується у всіх версіях PostgreSQL.

Однак не в SQL, як Еван чітко зафіксований . Але на процедурній мові PL / pgSQL для створення псевдонімів параметрів або змінних.

Він частіше використовувався до Postgres 8.0, тоді як названі параметри ще не підтримувалися для функцій PL / pgSQL. Відтоді залишилось лише кілька випадків використання. Посібник завершує:

Краще використовувати його лише з метою переопределення заздалегідь визначених імен.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.