Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Base de dados SQL no Microsoft Fabric
Você pode excluir (descartar) funções definidas pelo usuário no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.
Limitações e restrições
Não será possível eliminar a função se existirem Transact-SQL funções ou vistas na base de dados que referenciam essa função e foram criadas usando SCHEMABINDING, ou se existirem colunas computadas, restrições CHECK ou DEFAULT restrições que referenciam 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 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
Selecione o sinal de adição ao lado do banco de dados que contém a função que você deseja modificar.
Selecione o sinal de adição ao lado da pasta Programabilidade.
Selecione o sinal de mais ao lado da pasta que contém a função que você deseja modificar:
- Função com valor de tabela
- Função com valor escalar
- Função Agregar
Clique com o botão direito do rato na função que pretende eliminar e selecione Eliminar.
Na caixa de diálogo Excluir objeto, selecione OK.
Selecione Mostrar Dependências na caixa de diálogo Eliminar Objeto para abrir a caixa de diálogo function_nameDependências. Isso mostrará todos os objetos que dependem da função e todos os objetos dos quais a função depende.
Utilize 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 ); GOO 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