Dans Oracle, je peux recréer une vue avec une seule instruction, comme indiqué ici:
CREATE OR REPLACE VIEW MY_VIEW AS
SELECT SOME_FIELD
FROM SOME_TABLE
WHERE SOME_CONDITIONS
Comme la syntaxe l'indique, cela supprimera l'ancienne vue et la recréera avec la définition que j'ai donnée.
Existe-t-il un équivalent dans MSSQL (SQL Server 2005 ou version ultérieure) qui fera la même chose?
sql-server
JosephStyons
la source
la source
Vous pouvez utiliser «IF EXISTS» pour vérifier si la vue existe et la supprimer si elle existe.
la source
Pour référence,
SQL Server 2016 SP1+
vous pouvez utiliser laCREATE OR ALTER VIEW
syntaxe.démo db <> fiddle
la source
J'utilise:
...
Récemment, j'ai ajouté des procédures utilitaires pour ce genre de choses:
Alors maintenant j'écris
Je pense que cela rend mes scripts de modification un peu plus lisibles
la source
J'utilise généralement quelque chose comme ceci:
la source
Depuis SQL Server 2016, vous avez
Source MSDN
la source
Cela fonctionne bien pour moi sur SQL Server 2017:
https://www.mssqltips.com/sqlservertip/4640/new-create-or-alter-statement-in-
la source
Vous pouvez utiliser ALTER pour mettre à jour une vue, mais ceci est différent de la commande Oracle car elle ne fonctionne que si la vue existe déjà. Probablement mieux avec la réponse de DaveK car cela fonctionnera toujours.
la source
Dans SQL Server 2016 (ou plus récent), vous pouvez utiliser ceci:
Dans les anciennes versions du serveur SQL, vous devez utiliser quelque chose comme
Ou, s'il n'y a pas de dépendances sur la vue, vous pouvez simplement la supprimer et la recréer:
la source
CREATE OR REPLACE VIEW
syntaxe. La syntaxe correcte estCREATE OR ALTER VIEW
. Comment se fait-il, que chaque corps déclare que c'estCREATE OR REPLACE
dans tous les autres fils SO que je trouve 🤔