Je sais que cela doit être simple, mais comment faire précéder la création d'une fonction par une vérification pour voir si elle existe déjà? S'il existe, je veux le supprimer et le recréer.
tsql
sql-server-2000
DavidStein
la source
la source
Vous pouvez également rechercher le nom dans sysobjects
En fait, si la fonction peut être une fonction de table, vous devez utiliser
la source
Cela fonctionne pour n'importe quel objet, pas seulement pour les fonctions:
puis ajoutez simplement votre saveur d'objet, comme dans:
la source
Vous avez deux options pour supprimer et recréer la procédure dans SQL Server 2016.
À partir de SQL Server 2016 - utilisation
IF EXISTS
À partir de SQL Server 2016 SP1 - utilisation
OR ALTER
la source
la source
J'évite généralement les requêtes des tables de type sys *, les vendeurs ont tendance à les changer entre les versions, majeures ou non. Ce que j'ai toujours fait, c'est d'émettre la
DROP FUNCTION <name>
déclaration et de ne pas m'inquiéter d'une erreur SQL qui pourrait revenir. Je considère cette procédure standard dans le domaine DBA.la source
De
SQL Server 2016 CTP3
vous pouvez utiliser de nouvelles instructions DIE au lieu de grandesIF
wrappersSyntaxe:
Requete:
Plus d'infos ici
la source
la source
Voici mon point de vue sur ceci:
la source
Vérifier si la fonction existe
Vérifiez IF Exist pour la procédure stockée, fonction également en cliquant sur le lien ci-dessous http://www.gurujipoint.com/2017/05/check-if-exist-for-trigger-function-and.html
la source
Si vous souhaitez utiliser la norme SQL ISO INFORMATION_SCHEMA et non la norme SQL Server
sysobjects
, vous pouvez le faire:la source