No Oracle, posso recriar uma visualização com uma única instrução, conforme mostrado aqui:
CREATE OR REPLACE VIEW MY_VIEW AS
SELECT SOME_FIELD
FROM SOME_TABLE
WHERE SOME_CONDITIONS
Como a sintaxe indica, isso eliminará a visão antiga e a recriará com qualquer definição que eu tenha dado.
Existe um equivalente no MSSQL (SQL Server 2005 ou posterior) que fará a mesma coisa?
sql-server
JosephStyons
fonte
fonte
Você pode usar 'IF EXISTS' para verificar se a visualização existe e descartá-la se existir.
fonte
Para referência,
SQL Server 2016 SP1+
você pode usar aCREATE OR ALTER VIEW
sintaxe.db <> demonstração de violino
fonte
Eu uso:
...
Recentemente, adicionei alguns procedimentos utilitários para esse tipo de coisa:
Então agora eu escrevo
Acho que torna meus scripts de mudança um pouco mais legíveis
fonte
Eu normalmente uso algo assim:
fonte
A partir do SQL Server 2016 você tem
Fonte do MSDN
fonte
Funciona bem para mim no SQL Server 2017:
https://www.mssqltips.com/sqlservertip/4640/new-create-or-alter-statement-in-
fonte
Você pode usar ALTER para atualizar uma visão, mas isso é diferente do comando Oracle, pois só funciona se a visão já existe. Provavelmente melhor com a resposta de DaveK, já que isso sempre funcionará.
fonte
No SQL Server 2016 (ou mais recente), você pode usar isto:
Em versões mais antigas do servidor SQL, você deve usar algo como
Ou, se não houver dependências na visualização, você pode simplesmente descartá-la e recriar:
fonte
CREATE OR REPLACE VIEW
sintaxe. A sintaxe correta éCREATE OR ALTER VIEW
. Como é, que todo mundo afirma que estáCREATE OR REPLACE
em todos os outros tópicos do SO que encontro 🤔