Det er lidt langt til en kommentar. Du siger:
hvis de underliggende tabelkolonnenavne ændrer sig, behøver brugerne af visningen ikke at redigere deres kode
Jamen det er sådan set rigtigt. Hvis de underliggende kolonnenavne ændres, vil visningen blive ugyldig. Koden vil ikke længere virke. Du bliver alligevel nødt til at genskabe visningen.
Hvis du vil sikre kolonnenavnene, kan du oprette visningen eksplicit med kolonnenavnene:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
Jeg er generelt ikke en rigtig stor fan af denne tilgang -- det kan skabe kaos, når du tilføjer eller omarrangerer kolonnenavne til visningen. Men du vil måske sætte pris på det.
Bemærk, at jeg fjernede ORDER BY
og TOP 100 PERCENT
. Disse er hacks til at få ORDER BY
accepteret af SQL Server-kompileren. Det betyder ikke, at udsigten med garanti er i en bestemt rækkefølge.
Dette er helt eksplicit forklaret i dokumentation :
Vigtigt
ORDER BY-udtrykket bruges kun til at bestemme de rækker, der returneres af TOP- eller OFFSET-udtrykket i visningsdefinitionen. ORDER BY-klausulen garanterer ikke bestilte resultater, når der forespørges på visningen , medmindre ORDER BY også er angivet i selve forespørgslen.