Có phải từ khóa là ALIAS 'thực sự được sử dụng?


9

Theo PostgreSQL 7.1 đến 9.1 (hiện không được hỗ trợ), ALIASđược liệt kê dưới dạng một từ dành riêng, ít nhất là cho SQL-99. Các phiên bản sau này không hiển thị nó - cho thấy rằng nó đã bị loại bỏ như một từ dành riêng. Các tài liệu PostgreSQL cũ có nói "sự hiện diện của một từ khóa không chỉ ra sự tồn tại của một tính năng." Khi đặt bí danh một bảng hoặc cột tôi đã thấy AS, nhưng không bao giờ ALIAS.

Trường hợp (hoặc là) từ khóa SQL ALIASđược sử dụng ở đâu? Đã từng sử dụng hay chỉ dành riêng cho sử dụng trong tương lai?

Câu trả lời:


16

PostgreSQL duy trì một danh sách các điều khoản dành riêng không dành riêng trong phần phụ lục . ALIASvắng mặt trong danh sách đó. Bạn có thể xác minh PostgreSQL không sử dụng ALIASbằng cách kiểm tra ngữ pháp YACC . Ngay cả khi Postgres95 trở lại không phải là một từ dành riêng (phiên bản đầu tiên trong quá trình di chuyển từ QUEL sang SQL)ALIAS

Tiêu chuẩn SQL

  • Trong SQL-92, ALIASđược đánh dấu là a <reserved word>; nhưng, không có sử dụng được chỉ định cho điều đó <reserved word>.

  • Trong SQL-99 ALIASđược đánh dấu là "Từ dành riêng bổ sung" và được thêm vào danh sách <reserved word>; nhưng, không có sử dụng được chỉ định cho điều đó <reserved word>. Có lẽ họ bảo lưu thuật ngữ này với mục đích xác định ý nghĩa sau đó, và sau đó rút nó ở một điểm khác. Hoặc, có lẽ họ dành riêng thuật ngữ cho việc thực hiện do nhà cung cấp xác định. PostgreSQL phản ánh sự bảo lưu của thông số kỹ thuật trong các tài liệu và sau đó loại bỏ sự bảo lưu đó với thông số kỹ thuật.

  • Trong SQL-2011, ALIASkhông tìm thấy ở đâu và từ "bí danh" chỉ xuất hiện trong tham chiếu đến 'Tính năng T053, Bí danh rõ ràng cho các tham chiếu tất cả các lĩnh vực

Không có bản sao số hóa của SQL-86 hoặc SQL-89


8

Nó được sử dụng ít nhất trong các hương vị khác nhau của Db2: ALIASlà một đối tượng cho phép bạn chỉ định một tên khác cho một đối tượng khác, như bảng. Nó thường được sử dụng để cho phép các tham chiếu trong một lược đồ đến các đối tượng trong một lược đồ khác mà không chỉ định rõ ràng lược đồ đó.

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

ALIASlà một bí danh cho SYNONYM; khái niệm thứ hai cũng tồn tại trong Oracle và SQL Server.


4
ALIASlà một bí danh choSYNONYM - hmm, tôi đoán bạn cũng có thể nói ALIASlà một từ đồng nghĩa của SYNONYM...
Andriy M


3

Trên thực tế, có một nơi mà từ khóa ALIASđược sử dụng trong tất cả các phiên bản của PostgreSQL.

Tuy nhiên, không phải bằng SQL, như Evan đã ghi lại rõ ràng . Nhưng trong ngôn ngữ thủ tục PL / pgSQL để tạo bí danh cho các tham số hoặc biến.

Nó được sử dụng phổ biến hơn trước Postgres 8.0 trong khi các tham số được đặt tên chưa được hỗ trợ cho các chức năng PL / pgQuery. Kể từ đó, chỉ còn lại vài trường hợp sử dụng. Hướng dẫn kết luận:

Tốt nhất chỉ sử dụng nó cho mục đích ghi đè các tên được xác định trước.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.