Supprimer des fonctions définies par l’utilisateur
S’applique à :SQL ServerAzure SQL Database
Vous pouvez supprimer (supprimer) des fonctions définies par l’utilisateur dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL.
Limitations et restrictions
Vous ne pourrez pas supprimer la fonction s’il existe des fonctions ou des vues Transact-SQL dans la base de données qui référencent cette fonction et qui ont été créées à l’aide de SCHEMABINDING, ou s’il existe des colonnes calculées, des contraintes CHECK ou des contraintes DEFAULT qui référencent la fonction.
Vous ne pourrez pas supprimer la fonction s’il existe des colonnes calculées qui référencent cette fonction et qui ont été indexées.
Autorisations
Exige l'autorisation ALTER sur le schéma auquel la fonction appartient, ou l'autorisation CONTROL sur la fonction.
Utiliser SQL Server Management Studio
Sélectionnez le signe plus en regard de la base de données qui contient la fonction que vous souhaitez modifier.
Sélectionnez le signe plus en regard du dossier Programmability .
Sélectionnez le signe plus en regard du dossier qui contient la fonction que vous souhaitez modifier :
- Table-valued Function
- Fonction scalaire
- Fonction d'agrégation
Cliquez avec le bouton droit sur la fonction à supprimer, puis sélectionnez Supprimer.
Dans la boîte de dialogue Supprimer l’objet , sélectionnez OK.
Sélectionnez Afficher les dépendances dans la boîte de dialogue Supprimer l’objet pour ouvrir la boîte de dialogue function_nameDépendances. Cette opération affiche tous les objets qui dépendent de la fonction et tous les objets dont la fonction dépend.
Utiliser Transact-SQL
Dans l’Explorateur d’objets, connectez-vous à une instance du moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter.
L’exemple de code suivant crée une fonction définie par l’utilisateur :
-- creates function called "Sales.ufn_SalesByStore" USE AdventureWorks2022; GO CREATE FUNCTION Sales.ufn_SalesByStore (@storeid int) RETURNS TABLE AS RETURN ( SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS 'Total' FROM Production.Product AS P JOIN Sales.SalesOrderDetail AS SD ON SD.ProductID = P.ProductID JOIN Sales.SalesOrderHeader AS SH ON SH.SalesOrderID = SD.SalesOrderID JOIN Sales.Customer AS C ON SH.CustomerID = C.CustomerID WHERE C.StoreID = @storeid GROUP BY P.ProductID, P.Name ); GO
L’exemple de code suivant supprime la fonction définie par l’utilisateur créée dans l’exemple précédent.
USE AdventureWorks2022; GO -- determines if function exists in database IF OBJECT_ID (N'Sales.fn_SalesByStore', N'IF') IS NOT NULL -- deletes function DROP FUNCTION Sales.fn_SalesByStore; GO
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour