Supprimer des fonctions définies par l'utilisateur
Vous pouvez supprimer des fonctions définies par l'utilisateur dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL.
Dans cette rubrique
Avant de commencer :
Limitations et restrictions
Sécurité
Pour supprimer une fonction définie par l'utilisateur, utilisez :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Limitations et restrictions
Vous ne pourrez pas supprimer la fonction si la base de données contient des fonctions ou des vues Transact-SQL qui font référence à cette fonction et qui ont été créées au moyen de SCHEMABINDING. Elle échoue également s'il existe des colonnes calculées, des contraintes CHECK ou des contraintes DEFAULT qui font référence à cette fonction.
Vous ne pourrez pas supprimer la fonction si des colonnes calculées qui ont été indexées font référence à cette fonction.
Sécurité
Autorisations
Exige l'autorisation ALTER sur le schéma auquel la fonction appartient, ou l'autorisation CONTROL sur la fonction.
[Top]
Utilisation de SQL Server Management Studio
Pour supprimer une fonction définie par l'utilisateur
Cliquez sur le signe plus (+° en regard de la base de données qui contient la fonction à modifier.
Cliquez sur le signe plus en regard du dossier Programmabilité.
Cliquez sur le signe plus en regard du dossier qui contient la fonction à modifier :
Fonction table
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, cliquez sur OK.
Important
Cliquez sur Afficher les dépendances dans la boîte de dialogue Supprimer un objet pour ouvrir la boîte de dialogue function_name Dépendances. Cette opération affiche tous les objets qui dépendent de la fonction et tous les objets dont la fonction dépend.
[Top]
Utilisation de Transact-SQL
Pour supprimer une fonction définie par l'utilisateur
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d'outils standard, cliquez sur Nouvelle requête.
Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.
-- creates function called “Sales.ufn_SalesByStore” USE AdventureWorks2012; 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 USE AdventureWorks2012; 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
Pour plus d'informations, consultez DROP FUNCTION (Transact-SQL).
[Top]