Excluir funções definidas pelo usuário
Aplica-se ao: SQL Server Banco de Dados SQL do Azure
Você pode excluir (remover) uma chave primária no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.
Limitações e restrições
Você não poderá excluir a função se houver funções Transact-SQL ou exibições no banco de dados que referenciem essa função e forem criadas usando SCHEMABINDING ou se houver colunas computadas, restrições CHECK ou DEFAULT que referenciem a função.
Você não poderá excluir a função se houver colunas computadas que façam referência a essa função e que tenham sido indexadas.
Permissões
Requer permissão ALTER no esquema ao qual a função pertence ou permissão CONTROL na função.
Usar o SQL Server Management Studio
Clique no sinal de adição ao lado do banco de dados que contém a função que você deseja modificar.
Clique no sinal de adição ao lado da pasta Programabilidade.
Clique no sinal de adição ao lado da pasta que contém a função que você deseja modificar:
- Table-valued Function
- Função de valor escalar
- Função de agregação
Clique com o botão direito do mouse na função a ser excluída e selecione Excluir.
Na caixa de diálogo Excluir Objeto, selecione OK.
Selecione Mostrar Dependências na caixa de diálogo Excluir Objeto para abrir a caixa de diálogo Dependências de nome_função. Isso mostrará todos os objetos que dependem da função e todos os objetos dos quais a função depende.
Usar o Transact-SQL
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
O exemplo de código a seguir cria uma função definida pelo usuário:
-- 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
O exemplo de código a seguir exclui a função definida pelo usuário criada no exemplo anterior.
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