SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

Mengapa nama alias yang sama dengan nama kolom dihilangkan saat disimpan sebagai tampilan?

Ini agak panjang untuk komentar. Anda mengatakan:

jika nama kolom tabel yang mendasarinya berubah, pengguna tampilan tidak perlu mengedit kode mereka

Yah itu agak benar. Jika nama kolom yang mendasarinya berubah, maka tampilan akan menjadi tidak valid. Kode tidak akan berfungsi lagi. Anda tetap harus membuat ulang tampilan.

Jika Anda ingin memastikan nama kolom, Anda dapat membuat tampilan eksplisit dengan nama kolom:

Create view vBook1 (ISBN, Title) AS
    SELECT ISBN, Title
    FROM dbo.tBook;

Saya biasanya bukan penggemar berat pendekatan ini -- pendekatan ini dapat mendatangkan malapetaka saat menambahkan atau mengatur ulang nama kolom untuk tampilan. Tapi Anda mungkin menghargainya.

Perhatikan bahwa saya menghapus ORDER BY dan TOP 100 PERCENT . Ini adalah peretasan untuk mendapatkan ORDER BY diterima oleh kompiler SQL Server. Itu tidak berarti bahwa tampilan dijamin dalam urutan tertentu.

Ini dijelaskan secara eksplisit dalam dokumentasi :

Penting

Klausa ORDER BY hanya digunakan untuk menentukan baris yang dikembalikan oleh klausa TOP atau OFFSET dalam definisi tampilan. Klausa ORDER BY tidak menjamin hasil yang diurutkan saat tampilan dikueri , kecuali ORDER BY juga ditentukan dalam kueri itu sendiri.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL Server Management Studio 2016:Aplikasi tidak dapat dimulai

  2. Terlalu banyak nilai parameter yang memperlambat kueri

  3. SQL Server 2016 Express Management Studio tidak dapat mendesain tabel baru atau yang sudah ada

  4. Folder tujuan yang valid untuk penginstalan tidak dapat ditentukan saat menginstal SQL Server Management Studio 2016

  5. Cara menjalankan sqlcmd dari jarak jauh pada mesin yang tidak memiliki SSMS