No SQL Server 2017, tenho uma exibição, "ParentView", que é referenciada por outras exibições "ChildView1", "ChildView2", etc. Essas exibições são referenciadas por outras exibições "GrandChildView1", "GrandChildView2", etc. e assim por diante e assim por diante adiante. Certifico-me de configurar todas as minhas visualizações para ter "COM SCHEMABINDING". Quando quero fazer uma alteração em "ParentView", sou obrigado a descartar e criar todas as visualizações dependentes. Isso, é claro, faz todo o sentido porque eu tenho "COM SCHEMABINDING" ativado e poderia estar fazendo uma alteração que poderia quebrar uma das visualizações dependentes. No entanto, fazer tudo isso é tedioso através da interface do usuário, então eu queria saber ...
Como posso obter um script que recebe uma exibição ou qualquer objeto como entrada e cria uma instrução drop/create com base em dependências?
Por exemplo:
DROP VIEW [dbo].[GrandChild]
GO
DROP VIEW [dbo].[Child]
GO
ALTER VIEW [dbo].[Parent]
...
GO
CREATE VIEW [dbo].[Child]
...
GO
CREATE VIEW [dbo].[GrandChild]
...
GO
Notas
- Isso não precisa ser específico para visualizações. Eu também tenho funções dependentes e procedimentos armazenados também.
- Nenhuma das minhas visualizações são visualizações indexadas.