W Oracle mogę odtworzyć widok za pomocą jednej instrukcji, jak pokazano tutaj:
CREATE OR REPLACE VIEW MY_VIEW AS
SELECT SOME_FIELD
FROM SOME_TABLE
WHERE SOME_CONDITIONS
Jak sugeruje składnia, spowoduje to usunięcie starego widoku i ponowne utworzenie go z dowolną definicją, którą podałem.
Czy istnieje odpowiednik w MSSQL (SQL Server 2005 lub nowszy), który zrobi to samo?
sql-server
JosephStyons
źródło
źródło
Możesz użyć opcji „JEŚLI ISTNIEJE”, aby sprawdzić, czy widok istnieje, i porzucić, jeśli tak.
źródło
W celach informacyjnych
SQL Server 2016 SP1+
możesz użyćCREATE OR ALTER VIEW
składni.db <> fiddle demo
źródło
Używam:
...
Ostatnio dodałem kilka narzędzi do tego typu rzeczy:
Więc teraz piszę
Myślę, że dzięki temu moje skrypty zmian są bardziej czytelne
źródło
Zwykle używam czegoś takiego:
źródło
Od SQL Server 2016 masz
Źródło MSDN
źródło
U mnie działa dobrze na SQL Server 2017:
https://www.mssqltips.com/sqlservertip/4640/new-create-or-alter-statement-in-
źródło
Możesz użyć ALTER, aby zaktualizować widok, ale różni się to od polecenia Oracle, ponieważ działa tylko wtedy, gdy widok już istnieje. Prawdopodobnie lepiej będzie z odpowiedzią DaveK, ponieważ to zawsze zadziała.
źródło
W SQL Server 2016 (lub nowszym) możesz użyć tego:
W starszych wersjach serwera SQL musisz użyć czegoś takiego jak
Lub, jeśli nie ma żadnych zależności w widoku, możesz go po prostu upuścić i odtworzyć:
źródło
CREATE OR REPLACE VIEW
składni. Prawidłowa składnia toCREATE OR ALTER VIEW
. Jak to się dzieje, że wszyscy twierdzą, że jestCREATE OR REPLACE
w każdym innym SO wątku, który znajduję 🤔