Apakah kata kunci "ALIAS" benar-benar digunakan?


9

Menurut PostgreSQL 7.1 hingga 9.1 (sekarang tidak didukung), ALIASterdaftar sebagai kata yang dilindungi undang-undang, setidaknya untuk SQL-99. Versi yang lebih baru tidak menunjukkannya - menunjukkan bahwa kata itu telah dihapus sebagai kata yang dipesan. Dokumen PostgreSQL lama memang mengatakan "kehadiran kata kunci tidak menunjukkan keberadaan fitur." Saat aliasing tabel atau kolom yang pernah saya lihat AS, tetapi tidak pernah ALIAS.

Di mana (atau) kata kunci SQL yang ALIASdigunakan? Apakah pernah digunakan atau hanya dicadangkan untuk penggunaan di masa mendatang?

Jawaban:


16

PostgreSQL menyimpan daftar istilah yang dilindungi undang-undang dan tidak dilindungi undang-undang dalam lampiran . ALIAStidak ada dalam daftar itu. Anda dapat memverifikasi PostgreSQL tidak digunakan ALIASdengan memeriksa tata bahasa YACC . Bahkan sejauh Postgres95 ALIASbukanlah kata yang dilindungi undang-undang (versi pertama dalam migrasi dari QUEL ke SQL)

SQL Standard

  • Dalam SQL-92, ALIASditandai sebagai <reserved word>; tapi, tidak ada gunanya ditugaskan untuk itu <reserved word>.

  • Dalam SQL-99 ALIASditandai sebagai "Kata Cadangan Tambahan", dan ditambahkan ke daftar <reserved word>; tapi, tidak ada gunanya ditugaskan untuk itu <reserved word>. Mungkin mereka menggunakan istilah itu dengan maksud untuk mendefinisikan makna di kemudian hari, dan kemudian menariknya pada titik yang berbeda. Atau, mungkin mereka mencadangkan istilah untuk implementasi yang ditentukan vendor. PostgreSQL mencerminkan reservasi spec di dokumen, dan kemudian menghapus reservasi itu dengan spec.

  • Dalam SQL-2011, ALIAStidak ada tempat untuk ditemukan dan kata "alias" hanya muncul dalam referensi ke 'Fitur T053, "Alias ​​eksplisit untuk referensi semua bidang"'

ℹ Tidak ada salinan digital dari SQL-86 , atau SQL-89


8

Ini digunakan setidaknya dalam berbagai rasa Db2: ALIASadalah objek yang memungkinkan Anda menentukan nama yang berbeda untuk objek lain, seperti tabel. Ini sering digunakan untuk memungkinkan referensi dalam satu skema ke objek di skema lain tanpa secara eksplisit menentukan skema itu.

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

ALIASadalah alias untuk SYNONYM; konsep terakhir juga ada di Oracle dan SQL Server.


4
ALIASadalah alias untukSYNONYM - hmm, saya kira Anda juga bisa mengatakan ALIASini adalah sinonim dari SYNONYM...
Andriy M


3

Sebenarnya, ada tempat di mana kata kunci ALIASdigunakan di semua versi PostgreSQL.

Namun tidak dalam SQL, seperti Evan yang didokumentasikan dengan jelas . Namun dalam bahasa prosedural PL / pgSQL membuat alias untuk parameter atau variabel.

Itu lebih umum digunakan sebelum Postgres 8.0 sementara parameter bernama belum didukung untuk fungsi PL / pgSQL. Sejak itu, hanya sedikit use case yang tersisa. Manual menyimpulkan:

Cara terbaik untuk menggunakannya hanya untuk tujuan mengganti nama yang telah ditentukan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.