Eliminare funzioni definite dall'utente
Si applica a:SQL ServerDatabase SQL di Azure
È possibile eliminare (escludere) le funzioni definite dall'utente in SQL Server usando SQL Server Management Studio o Transact-SQL.
Limitazioni e restrizioni
Non è possibile eliminare la funzione se nel database sono presenti funzioni o viste Transact-SQL che fanno riferimento a questa funzione e che sono state create tramite SCHEMABINDING oppure se sono presenti colonne calcolate, vincoli CHECK o vincoli DEFAULT che fanno riferimento alla funzione.
Non è possibile eliminare la funzione se sono presenti colonne calcolate che fanno riferimento alla funzione e che sono state indicizzate.
Autorizzazioni
È necessaria l'autorizzazione ALTER per lo schema a cui appartiene la funzione o l'autorizzazione CONTROL per la funzione.
Usare SQL Server Management Studio
Fare clic sul segno più accanto al database che contiene la funzione che si desidera modificare.
Fare clic sul segno più accanto alla cartella Programmabilità.
Fare clic sul segno più accanto alla cartella che contiene la funzione che si desidera modificare:
- Table-valued Function
- Funzione a valori scalari
- Funzione di aggregazione
Fare clic con il pulsante destro del mouse sulla funzione che si desidera eliminare e scegliere Elimina.
Nella finestra di dialogo Elimina oggetto fare clic su OK.
Fare clic su Mostra dipendenze nella finestra di dialogo Elimina oggetto per aprire la finestra di dialogo Dipendenze di nome_funzione. Verranno visualizzati tutti gli oggetti che dipendono dalla funzione e tutti gli oggetti da cui dipende la funzione.
Usare Transact-SQL
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard selezionare Nuova query.
Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.
Nell'esempio di codice seguente viene creata la funzione definita dall'utente:
-- 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
Nell'esempio di codice seguente viene eliminata la funzione definita dall'utente creata nell'esempio precedente.
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
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per