Това е малко дълго за коментар. Вие казвате:
ако имената на колоните в основата на таблицата се променят, потребителите на изгледа няма да трябва да редактират кода си
Е, това е някак вярно. Ако имената на основните колони се променят, изгледът ще бъде анулиран. Кодът вече няма да работи. Все пак ще трябва да пресъздадете изгледа.
Ако искате да гарантирате имената на колоните, можете да създадете изгледа изрично с имената на колоните:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
По принцип не съм много голям фен на този подход - той може да предизвика хаос при добавяне или пренареждане на имена на колони за изгледа. Но може да го оцените.
Обърнете внимание, че премахнах ORDER BY
и TOP 100 PERCENT
. Това са хакове за получаване на ORDER BY
прието от компилатора на SQL Server. Това не означава, че изгледът е гарантиран в определен ред.
Това е доста изрично обяснено в документация :
Важно
Клаузата ORDER BY се използва само за определяне на редовете, които се връщат от клаузата TOP или OFFSET в дефиницията на изгледа. Клаузата ORDER BY не гарантира подредени резултати, когато изгледът е запитан , освен ако ORDER BY също не е посочено в самата заявка.