sql >> Databasteknik >  >> Database Tools >> SSMS

Varför tas aliasnamn som är samma som kolumnnamnen bort när de lagras som en vy?

Det här är lite långt för en kommentar. Du säger:

om de underliggande tabellkolumnnamnen ändras, behöver användarna av vyn inte redigera sin kod

Tja det är typ sant. Om de underliggande kolumnnamnen ändras, kommer vyn att ogiltigförklaras. Koden kommer inte längre att fungera. Du måste återskapa vyn ändå.

Om du vill säkerställa kolumnnamnen kan du skapa vyn explicit med kolumnnamnen:

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

Jag är i allmänhet inte ett riktigt stort fan av detta tillvägagångssätt -- det kan orsaka förödelse när man lägger till eller omarrangerar kolumnnamn för vyn. Men du kanske uppskattar det.

Observera att jag tog bort ORDER BY och TOP 100 PERCENT . Dessa är hacks för att få ORDER BY accepteras av SQL Server-kompilatorn. Det betyder inte att utsikten garanterat är i någon speciell ordning.

Detta förklaras ganska explicit i dokumentation :

Viktigt

ORDER BY-satsen används endast för att bestämma raderna som returneras av TOP- eller OFFSET-satsen i vydefinitionen. ORDER BY-satsen garanterar inte beställda resultat när vyn efterfrågas , om inte ORDER BY också anges i själva frågan.



  1. Lagra data MySQL i kurdiskt teckensnitt?

  2. phpMyAdmin Class 'PMA_Message' hittades inte i /usr/share/phpMyAdmin/libraries/Error.class.php

  3. Hur man skriver en parametriserad fråga i management studio?

  4. Hur du väljer din DBeaver