SóProvas


ID
2619844
Banca
FGV
Órgão
Câmara de Salvador - BA
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Observe o script a seguir, no âmbito do MySQL.

CREATE TRIGGER xpto BEFORE INSERT ON T
FOR EACH ROW SET @s = @s + NEW.quant;

A presença do termo NEW refere-se:

Alternativas
Comentários
  • Definir dados de antes (OLD) e depois (NEW)

    Em meio aos TRIGGERS temos dois operadores importantíssimos que nos possibilitam acessar as colunas da tabela alvo do comando DML, ou seja, podemos acessar os valores que serão enviados para a tabela tbl_cliente antes (BEFORE) ou depois (AFTER) de um UPDATE, por exemplo. Tais operadores nos permitirão então, ter dois momentos, o antes e o depois e também examinar os valores para que sejam ou não inseridos, atualizados ou excluídos da tabela.

    Antes mesmo de analisarmos os operadores, temos que analisar vejamos as seguintes diretrizes:

    INSERT: o operador NEW.nome_coluna, nos permite verificar o valor enviado para ser inserido em uma coluna de uma tabela. OLD.nome_coluna não está disponível.

    DELETE: o operador OLD.nome_coluna nos permite verificar o valor excluído ou a ser excluído. NEW.nome_coluna não está disponível.

    UPDATE: tanto OLD.nome_coluna quanto NEW.nome_coluna estão disponíveis, antes (BEFORE) ou depois (AFTER) da atualização de uma linha.

    Percebemos então que, ao inserir uma nova linha em uma tabela, temos os valores das colunas disponível através do operador NEW.nome_coluna, quando excluímos uma linha, temos ainda os valores das colunas da linha excluída através do operador OLD.nome_coluna e temos os dois operadores disponíveis no UPDATE e no REPLACE pois as duas declarações consistem em um DELETE seguido por um INSERT. (REPLACE, este comando apresenta outros detalhes a serem analisados numa próxima oportunidade).

     

    https://www.devmedia.com.br/mysql-triggers/8088