Isso é um pouco longo para um comentário. Você diz:
se os nomes das colunas da tabela subjacente mudarem, os usuários da exibição não precisarão editar seu código
Bem, isso é meio verdade. Se os nomes das colunas subjacentes forem alterados, a exibição será invalidada. O código não funcionará mais. Você precisará recriar a exibição de qualquer maneira.
Se você quiser garantir os nomes das colunas, você pode criar a visualização explicitamente com os nomes das colunas:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
Geralmente, não sou um grande fã dessa abordagem - ela pode causar estragos ao adicionar ou reorganizar nomes de colunas para a exibição. Mas você pode apreciá-lo.
Observe que eu removi o
ORDER BY
e TOP 100 PERCENT
. Estes são hacks para obter o ORDER BY
aceito pelo compilador do SQL Server. Isso não significa que a exibição esteja garantida em qualquer ordem específica. Isso é explicado explicitamente no documentação :
Importante
A cláusula ORDER BY é usada apenas para determinar as linhas que são retornadas pela cláusula TOP ou OFFSET na definição da visualização. A cláusula ORDER BY não garante resultados ordenados quando a visualização é consultada , a menos que ORDER BY também seja especificado na própria consulta.