Share via


Excluir funções definidas pelo usuário

Você pode excluir (remover) funções definidas pelo usuário no SQL Server 2012 usando o SQL Server Management Studio ou Transact-SQL.

Neste tópico

  • Antes de começar:

    Limitações e restrições

    Segurança

  • Para excluir uma função definida pelo usuário, usando:

    SQL Server Management Studio

    Transact-SQL

Antes de começar

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 referenciem essa função e tenham sido indexadas.

Segurança

Permissões

Requer permissão ALTER no esquema ao qual a função pertence ou permissão CONTROL na função.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando o SQL Server Management Studio

Para excluir uma função definida pelo usuário

  1. Clique no sinal de mais ao lado do banco de dados que contém a função que você deseja modificar.

  2. Clique no sinal de mais ao lado da pasta Programação.

  3. Clique no 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 de valor escalar

    • Função de agregação

  4. Clique com o botão direito do mouse na função a ser excluída e selecione Excluir.

  5. Na caixa de diálogo Excluir Objeto, clique em OK.

    Observação importanteImportante

    Clique em Mostrar Dependências na caixa de diálogo Excluir Objeto para abrir a caixa de diálogo function_name Dependências. Isso mostrará todos os objetos que dependem da função e todos os objetos dos quais a função depende.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando Transact-SQL

Para excluir uma função definida pelo usuário

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    -- 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
    

Para obter mais informações, consulte DROP FUNCTION (Transact-SQL).

Ícone de seta usado com o link Voltar ao Início[Top]