To trochę za dużo na komentarz. Mówisz:
jeśli nazwy kolumn tabeli bazowej ulegną zmianie, użytkownicy widoku nie będą musieli edytować swojego kodu
Cóż, to prawda. Jeśli zmienią się nazwy kolumn bazowych, widok zostanie unieważniony. Kod przestanie działać. I tak będziesz musiał odtworzyć widok.
Jeśli chcesz zapewnić nazwy kolumn, możesz utworzyć widok jasno z nazwami kolumn:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
Generalnie nie jestem wielkim fanem tego podejścia — może siać spustoszenie przy dodawaniu lub przearanżowaniu nazw kolumn w widoku. Ale możesz to docenić.
Zauważ, że usunąłem ORDER BY
i TOP 100 PERCENT
. Oto hacki umożliwiające uzyskanie ORDER BY
akceptowane przez kompilator SQL Server. Nie oznacza to, że widok jest gwarantowany w określonej kolejności.
Jest to dość wyraźnie wyjaśnione w dokumentacja :
Ważne
Klauzula ORDER BY jest używana tylko do określenia wierszy zwracanych przez klauzulę TOP lub OFFSET w definicji widoku. Klauzula ORDER BY nie gwarantuje uporządkowanych wyników w przypadku wyświetlenia zapytania , chyba że w zapytaniu określono również ORDER BY.