No Oracle 11g, é possível inabilitar uma trigger ao invés d...

Próximas questões
Com base no mesmo assunto
Q314425 Banco de Dados
Acerca da linguagem SQL nos bancos de dados MySql e Oracle, julgue os itens de 59 a 61.

No Oracle 11g, é possível inabilitar uma trigger ao invés de excluí-la, não se permitindo, assim, que ela seja executada.
As sintaxes corretas para desabilitar uma trigger específica trigger1 e todas as triggers da tabela tabela1 são apresentadas a seguir.

ALTER TRIGGER trigger1 DISABLE;

ALTER TABLE tabela1

DISABLE ALL TRIGGERS;

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

Para compreender o motivo pelo qual a alternativa é considerada correta, precisamos discutir o conceito de gatilhos (triggers) em bancos de dados. Gatilhos são procedimentos automáticos acionados em resposta a eventos específicos sobre tabelas ou visualizações, como inserções, atualizações ou deleções. Eles são úteis para manter a integridade dos dados, aplicar regras de negócios, auditar alterações e muitas outras funções.

No contexto do Oracle 11g, a afirmação de que é possível inabilitar uma trigger em vez de excluí-la é verdadeira. Desabilitar uma trigger significa que ela ainda existe no banco de dados, mas não será acionada até que seja explicitamente reabilitada. Isso é útil para desativar temporariamente a lógica associada a uma trigger sem precisar removê-la completamente, o que seria um processo mais disruptivo e que exigiria a recriação da trigger caso fosse necessário reativá-la no futuro.

Quanto às sintaxes apresentadas para desabilitar uma trigger específica e todas as triggers de uma tabela, elas estão corretas para o ambiente Oracle. A sintaxe para desabilitar uma trigger individual é:

ALTER TRIGGER trigger1 DISABLE;

E para desabilitar todas as triggers de uma tabela específica:

ALTER TABLE tabela1 DISABLE ALL TRIGRERS;

Estes comandos são utilizados para gerenciar o comportamento das triggers, permitindo que administradores de banco de dados tenham flexibilidade para controlar quando esses importantes objetos de banco de dados devem estar ativos ou não, sem a necessidade de remoção permanente.

Portanto, a afirmação do enunciado está correta, e o conhecimento essencial para resolver esta questão está em entender o que são triggers e como administrá-las em termos de habilitação e desabilitação no Oracle 11g.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

You disable a trigger using the ALTER TRIGGER statement with the DISABLE option. To disable the trigger reorder on the inventory table, enter the following statement:

ALTER TRIGGER reorder DISABLE;

You can disable all triggers associated with a table at the same time using the ALTER TABLE statement with the DISABLE ALL TRIGGERS option. For example, to disable all triggers defined for the inventory table, enter the following statement:
 

ALTER TABLE inventory DISABLE ALL TRIGGERS;FONTE: http://docs.oracle.com/cd/B28359_01/server.111/b28310/general004.htm

c-

The syntax for a disabling all Triggers on a table in Oracle/PLSQL is:

ALTER TABLE table_name DISABLE ALL TRIGGERS;

https://www.techonthenet.com/oracle/triggers/disable_all.php

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo