키워드 "ALIAS"가 실제로 사용됩니까?


9

PostgreSQL 7.1에서 9.1 (현재는 지원되지 않음)에 따르면 ALIAS적어도 SQL-99에 대해서는 예약어로 표시됩니다. 이후 버전에서는 표시되지 않습니다. 예약어로 삭제되었음을 나타냅니다. 이전 PostgreSQL 문서는 "키워드가 존재 한다고 해서 기능이 존재하는 것은 아닙니다" 라고 말합니다 . 테이블이나 열의 별칭을 지정할 때 본 AS적이 있지만 결코 없습니다 ALIAS.

SQL 키워드는 어디에 ALIAS사용 되었습니까? 사용 중이거나 향후 사용을 위해 예약 된 적이 있습니까?

답변:


16

PostgreSQL 은 부록 에 예약 비 예약 용어 목록을 유지합니다 . ALIAS해당 목록에 없습니다. YACC 문법ALIAS 을 확인하여 PostgreSQL이 사용하지 않는지 확인할 수 있습니다 . 심지어까지 다시로 Postgres95의이 예약어 (SQL에 QUEL에서 마이그레이션의 첫 번째 버전)이 아니었다ALIAS

SQL 표준

  • 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...
안드리 M

2
: @AndriyM 그것은 다른 방법으로 주위 SYNONYM의 동의어이다ALIAS , 그러나 항상 .
mustaccio 님이

3

실제로 ALIAS모든 버전의 PostgreSQL에서 키워드 가 사용되는 곳이 있습니다.

그러나 Evan은 분명히 문서화 된 것처럼 SQL에는 없습니다 . 그러나 절차 언어 PL / pgSQL 에서는 매개 변수 또는 변수의 별칭을 만듭니다.

PL / pgSQL 함수에 대해서는 명명 된 매개 변수가 아직 지원되지 않았지만 Postgres 8.0 이전에 더 일반적으로 사용되었습니다. 그 이후로 사용 사례는 거의 없습니다. 매뉴얼은 다음과 같이 결론을 내립니다.

미리 정해진 이름을 재정의 할 목적으로 만 사용하는 것이 가장 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.