PROCEDIMENTO DE QUEDA MySQL

Resumo : neste tutorial, você aprenderá como usar a DROP PROCEDUREinstrução MySQL para eliminar um procedimento armazenado.

Introdução à instrução MySQL DROP PROCEDURE

A DROP PROCEDUREinstrução exclui um procedimento armazenado criado pela CREATE PROCEDUREinstrução.

O seguinte mostra a sintaxe básica da DROP PROCEDUREinstrução:

DROP PROCEDURE [IF EXISTS] sp_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • Primeiro, especifique o nome do procedimento armazenado ( sp_name) que deseja excluir após as DROP PROCEDUREpalavras-chave.
  • Segundo, use IF EXISTSa opção para descartar condicionalmente o procedimento armazenado, se ele existir.

Ao descartar um procedimento que não existe sem usar a IF EXISTSopção, o MySQL emitirá um erro. Neste caso, se você usar a IF EXISTSopção, o MySQL emitirá um aviso.

Observe que você precisa ter o ALTER ROUTINEprivilégio do procedimento armazenado para removê-lo.

Exemplos de DROP PROCEDURE do MySQL

Vejamos alguns exemplos de uso da DROP PROCEDUREdeclaração.

1) Exemplo básico de instrução DROP PROCEDURE do MySQL

Primeiro, crie um novo procedimento armazenado que retorne informações de funcionários e de escritório:

DELIMITER $$

CREATE PROCEDURE GetEmployees()
BEGIN
    SELECT 
        firstName, 
        lastName, 
        city, 
        state, 
        country
    FROM employees
    INNER JOIN offices using (officeCode);
    
END$$

DELIMITER ;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, use DROP PROCEDUREpara excluir o GetEmployees()procedimento armazenado:

DROP PROCEDURE GetEmployees;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

2) Usando o MySQL DROP PROCEDURE com o exemplo da opção IF EXISTS

O exemplo a seguir elimina um procedimento armazenado que não existe:

DROP PROCEDURE abc;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

MySQL emitiu o seguinte erro:

Error Code: 1305. PROCEDURE classicmodels.abc does not existLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Esta instrução descarta o mesmo procedimento armazenado inexistente, mas com IF EXISTSa opção:

DROP PROCEDURE IF EXISTS abc;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Desta vez o MySQL emitiu um aviso.

0 row(s) affected, 1 warning(s): 1305 PROCEDURE classicmodels.abc does not existLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A declaração SHOW WARNINGSmostra o aviso:

SHOW WARNINGS;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Aqui está a saída:

Descartando um procedimento armazenado usando MySQL Workbench

A instrução a seguir cria um novo procedimento armazenado chamado GetPayments()que retorna as informações do cliente e do pagamento:

DELIMITER $$

CREATE PROCEDURE GetPayments()
BEGIN
    SELECT 
        customerName, 
        checkNumber, 
        paymentDate, 
        amount
    FROM payments
    INNER JOIN customers 
        using (customerNumber);
END$$

DELIMITER ;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para eliminar o procedimento armazenado usando MySQL Workbench, siga estas etapas:

Primeiro, clique com o botão direito no nome do procedimento armazenado que deseja remover e escolha a opção Eliminar procedimento armazenado… .

MySQL Workbench exibirá uma janela de confirmação.

Segundo, clique em Review SQL para revisar a instrução SQL que o MySQL Workbench aplicará ao banco de dados ou clique em Drop Now se desejar remover imediatamente o procedimento armazenado.

Terceiro, revise o código SQL e clique no botão Executar para eliminar o procedimento armazenado.

Resumo

  • Use a DROP PROCEDUREinstrução para remover um procedimento armazenado.
  • Use a IF EXISTSopção para descartar o procedimento armazenado, se ele existir.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *