MySQL DROP TRIGGER

Resumo : neste tutorial, você aprenderá como usar a DROP TRIGGERinstrução MySQL para eliminar um gatilho do banco de dados.

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

A DROP TRIGGERinstrução exclui um gatilho do banco de dados.

Aqui está a sintaxe básica da DROP TRIGGERinstrução:

DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • Primeiro, especifique o nome do gatilho que deseja eliminar após as DROP TRIGGERpalavras-chave.
  • Segundo, especifique o nome do esquema ao qual o gatilho pertence. Se você ignorar o nome do esquema, a instrução eliminará o gatilho no banco de dados atual.
  • Terceiro, use IF EXISTSa opção para descartar condicionalmente o gatilho se o gatilho existir. A IF EXISTScláusula é opcional.

Se você descartar um gatilho que não existe sem usar a IF EXISTScláusula, o MySQL emitirá um erro. No entanto, se você usar a IF EXISTScláusula, o MySQL emitirá um NOTE.

DROP TRIGGERRequer o privilégio TRIGGERpara a tabela associada ao gatilho.

Observe que se você eliminar uma tabela , o MySQL eliminará automaticamente todos os gatilhos associados à tabela.

DROP TRIGGERExemplo de MySQL

Primeiro, crie uma tabela chamada billingspara demonstração:

CREATE TABLE billings (
    billingNo INT AUTO_INCREMENT,
    customerNo INT,
    billingDate DATE,
    amount DEC(10 , 2 ),
    PRIMARY KEY (billingNo)
);
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, crie um novo gatilho chamado BEFORE UPDATEassociado à billingstabela:

DELIMITER $$
CREATE TRIGGER before_billing_update
    BEFORE UPDATE 
    ON billings FOR EACH ROW
BEGIN
    IF new.amount > old.amount * 10 THEN
        SIGNAL SQLSTATE '45000' 
            SET MESSAGE_TEXT = 'New amount cannot be 10 times greater than the current amount.';
    END IF;
END$$    
DELIMITER ;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Caso você não esteja familiarizado com a DELIMITERinstrução, confira aqui na instrução de procedimento armazenado .

O gatilho é ativado antes de qualquer atualização. Se o novo valor for 10 vezes maior que o valor atual, o gatilho gerará um erro.

Terceiro, mostre os gatilhos:

SHOW TRIGGERS;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo de DROP TRIGGER do MySQL

Quarto, solte o before_billing_updategatilho:

DROP TRIGGER before_billing_update;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por fim, mostre os gatilhos novamente para verificar a remoção:

SHOW TRIGGERS;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo MySQL DROP TRIGGER após remoção

Neste tutorial, você aprendeu como usar a DROP TRIGGERinstrução MySQL para eliminar um gatilho do banco de dados.

Deixe um comentário

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