sql >> Databáze >  >> Database Tools >> SSMS

Proč jsou názvy aliasů stejné jako názvy sloupců, když jsou uloženy jako pohled?

To je trochu dlouhý komentář. Říkáte:

pokud se změní názvy sloupců základní tabulky, uživatelé zobrazení nebudou muset upravovat svůj kód

No to je tak trochu pravda. Pokud se změní názvy základních sloupců, zobrazení bude zrušeno. Kód již nebude fungovat. Stejně budete muset zobrazení znovu vytvořit.

Pokud chcete zajistit názvy sloupců, můžete zobrazení vytvořit explicitně s názvy sloupců:

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

Obecně nejsem opravdu velkým fanouškem tohoto přístupu - může způsobit zmatek při přidávání nebo přeuspořádání názvů sloupců pro zobrazení. Ale možná to oceníte.

Všimněte si, že jsem odstranil ORDER BY a TOP 100 PERCENT . Toto jsou hacky, jak získat ORDER BY přijata kompilátorem SQL Server. To neznamená, že je zaručeno, že zobrazení bude v nějakém konkrétním pořadí.

To je zcela jasně vysvětleno v dokumentace :

Důležité

Klauzule ORDER BY se používá pouze k určení řádků, které vrací klauzule TOP nebo OFFSET v definici pohledu. Klauzule ORDER BY nezaručuje seřazené výsledky při dotazu na zobrazení , pokud není v samotném dotazu uvedeno také ORDER BY.



  1. Kód pro omezení registrace uživatele - skrýt/zobrazit formulář php

  2. Konzola pro správu serveru SQL nefunguje s vícebajtovými znaky

  3. jak zjistit datum vložení záznamu v SQL

  4. Nelze se připojit – neplatná nastavení