In Oracle kann ich eine Ansicht mit einer einzelnen Anweisung neu erstellen, wie hier gezeigt:
CREATE OR REPLACE VIEW MY_VIEW AS
SELECT SOME_FIELD
FROM SOME_TABLE
WHERE SOME_CONDITIONS
Wie aus der Syntax hervorgeht, wird die alte Ansicht gelöscht und mit der von mir angegebenen Definition neu erstellt.
Gibt es in MSSQL (SQL Server 2005 oder höher) ein Äquivalent, das dasselbe tut?
sql-server
JosephStyons
quelle
quelle
Mit 'IF EXISTS' können Sie überprüfen, ob die Ansicht vorhanden ist, und sie löschen, wenn dies der Fall ist.
quelle
Als Referenz können
SQL Server 2016 SP1+
Sie dieCREATE OR ALTER VIEW
Syntax verwenden.db <> Geigen-Demo
quelle
Ich benutze:
...
Kürzlich habe ich einige Dienstprogrammverfahren für diese Art von Sachen hinzugefügt:
Also schreibe ich jetzt
Ich denke, das macht meine Änderungsskripte ein bisschen lesbarer
quelle
Ich benutze normalerweise so etwas:
quelle
Ab SQL Server 2016 haben Sie
MSDN-Quelle
quelle
Unter SQL Server 2017 funktioniert es einwandfrei:
https://www.mssqltips.com/sqlservertip/4640/new-create-or-alter-statement-in-
quelle
Sie können ALTER verwenden, um eine Ansicht zu aktualisieren. Dies unterscheidet sich jedoch vom Oracle-Befehl, da er nur funktioniert, wenn die Ansicht bereits vorhanden ist. Wahrscheinlich besser dran mit DaveKs Antwort, da das immer funktionieren wird.
quelle
In SQL Server 2016 (oder neuer) können Sie Folgendes verwenden:
In älteren Versionen von SQL Server müssen Sie so etwas wie verwenden
Wenn die Ansicht keine Abhängigkeiten enthält, können Sie sie einfach löschen und neu erstellen:
quelle
CREATE OR REPLACE VIEW
Syntax verwenden. Die richtige Syntax lautetCREATE OR ALTER VIEW
. Wie kommt es, dass jeder sagt, dass esCREATE OR REPLACE
in jedem anderen SO-Thread ist, den ich finde Wo