Das ist ein bisschen lang für einen Kommentar. Sie sagen:
wenn sich die Namen der zugrunde liegenden Tabellenspalten ändern, müssen die Benutzer der Ansicht ihren Code nicht bearbeiten
Nun, das ist irgendwie wahr. Wenn sich die zugrunde liegenden Spaltennamen ändern, wird die Ansicht ungültig. Der Code funktioniert nicht mehr. Sie müssen die Ansicht trotzdem neu erstellen.
Wenn Sie die Spaltennamen sicherstellen möchten, können Sie die Ansicht explizit erstellen mit den Spaltennamen:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
Ich bin im Allgemeinen kein wirklich großer Fan dieses Ansatzes – er kann Chaos anrichten, wenn Spaltennamen für die Ansicht hinzugefügt oder neu angeordnet werden. Aber Sie werden es vielleicht zu schätzen wissen.
Beachten Sie, dass ich ORDER BY
entfernt habe und TOP 100 PERCENT
. Dies sind Hacks, um den ORDER BY
zu erhalten vom SQL Server-Compiler akzeptiert. Das bedeutet nicht, dass die Ansicht garantiert in einer bestimmten Reihenfolge angezeigt wird.
Dies wird ganz explizit in Dokumentation :
Wichtig
Die ORDER BY-Klausel wird nur verwendet, um die Zeilen zu bestimmen, die von der TOP- oder OFFSET-Klausel in der Ansichtsdefinition zurückgegeben werden. Die ORDER BY-Klausel garantiert keine geordneten Ergebnisse, wenn die Ansicht abgefragt wird , es sei denn, ORDER BY ist auch in der Abfrage selbst angegeben.