Questo è un po' lungo per un commento. Tu dici:
se i nomi delle colonne della tabella sottostante cambiano, gli utenti della vista non dovranno modificare il proprio codice
Bene, questo è un po' vero. Se i nomi delle colonne sottostanti cambiano, la visualizzazione verrà invalidata. Il codice non funzionerà più. Dovrai comunque ricreare la vista.
Se vuoi garantire i nomi delle colonne, puoi creare la vista esplicitamente con i nomi delle colonne:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
In genere non sono un grande fan di questo approccio:può creare scompiglio quando si aggiungono o si riorganizzano i nomi delle colonne per la vista. Ma potresti apprezzarlo.
Nota che ho rimosso ORDER BY
e TOP 100 PERCENT
. Questi sono hack per ottenere ORDER BY
accettato dal compilatore SQL Server. Ciò non significa che la visualizzazione sia garantita in un ordine particolare.
Questo è spiegato in modo abbastanza esplicito in documentazione :
Importante
La clausola ORDER BY viene utilizzata solo per determinare le righe restituite dalla clausola TOP o OFFSET nella definizione della vista. La clausola ORDER BY non garantisce i risultati ordinati quando viene eseguita una query sulla vista , a meno che nella query stessa non sia specificato ORDER BY.