Questões de Concurso
Comentadas sobre gatilhos (triggers) em banco de dados
Foram encontradas 147 questões
I. Um gatilho é similar a uma função, inclusive pelo fato de retornar um valor.
II. A execução de um procedimento armazenado é feita por meio de chamada ao seu nome, podendo ser dentro de outro procedimento.
III. Um gatilho é um procedimento armazenado que é ativado por evento e executa uma ou mais ações se a condição for atendida.
IV. Transações de commit e rollback não podem ser executadas por um procedimento armazenado.
V. O uso de procedimento armazenado diminui o tráfego na rede em um ambiente cliente/servidor, pois um grupo de comandos SQL ficam armazenados no próprio banco de dados.
É CORRETO afirmar que:
Considere um banco de dados de uma transportadora desenvolvido em MySQL. A tabela
da Frota é exibida na figura abaixo, na qual o sistema da empresa registra a atualização da
quilometragem no campo Km a cada retorno de uma atividade de transporte. A empresa deseja
implementar um controle de manutenção preventiva de acordo com a quilometragem
percorrida a partir da implantação do controle. Para isso, foram criadas duas tabelas adicionais
e um Trigger que também são exibidos abaixo. A tabela de Controle define o padrão de
manutenção preventiva por tipo de veículo, usando como base as quilometragens percorridas
por cada veículo para agendar as manutenções de forma automatizada para cada veículo. A tabela ManAgenda mantém os agendamentos de manutenção cadastrados. Assim, na
implementação do controle, a tabela ManAgenda está vazia. A análise do Trigger é condição
suficiente para verificar como os campos das tabelas são utilizados. As siglas PK (Primary Key)
e FK (Foreign Key) destacadas como legenda em cada tabela, referem-se às chaves primárias e
às chaves estrangeiras das tabelas.
Suponha que após a implantação dos controles, cada veículo da Frota realizou 1 transporte de 3000km em agosto, 1 transporte de 4000km em setembro e 1 transporte de 2000km em outubro. Após essas 3 ações de transporte, qual alternativa corresponde ao que estará armazenado na tabela ManAgenda e na Tabela de Controle, com base no Trigger e nos dados iniciais apresentados das tabelas.
Obs: para evitar condição de corrida, admita que cada veículo teve sua quilometragem
atualizada após cada um dos transportes seguindo a mesma ordenação da tabela Frota.
( ) Um trigger é um objeto associado a uma tabela, que é utilizado para responder a um evento específico como insert, update, replace ou delete disparado.
( ) Não há como utilizar triggers em tabelas temporárias (temporary table).
( ) Para chamar uma trigger armazenada no banco de dados, deve-se inserir o comando CALL mais o nome da trigger.
( ) Os triggers podem ser disparados para responder antes ou depois de um evento.
A sequência está correta em
É um tipo especial de procedimento armazenado, que é executado sempre que há uma
tentativa de modificar os dados de uma tabela que é protegida por ele:
Em relação a banco de dados relacionais, julgue o seguinte item.
Triggers são procedimentos armazenados que são ativados
automaticamente em resposta a eventos específicos em
tabelas ou views.
A respeito de banco de dados, julgue o seguinte item.
Um trigger de banco de dados pode ser disparado antes ou
depois de um comando e pode, até mesmo, substituir esse
comando.
SQL é uma linguagem de consulta estruturada, um padrão de gerenciamento de dados que interage com os principais bancos de dados baseados no modelo relacional. Em bancos de dados Cliente/Servidor, o recurso trigger permite executar tarefas relacionadas com validações, consistência de dados, restrições de acesso e rotinas de segurança, e que utiliza um bloco de códigos SQL.
Nesse caso, os comandos que disparam um trigger podem ser:
Sobre os diversos tipos de triggers no PL/SQL do SGBD Oracle, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.
( ) Se o trigger for criado em uma tabela ou visão, o evento de gatilho será composto de instruções SQL do tipo DDL e será chamado de trigger de transição cruzada.
( ) Um trigger condicional pode ser um trigger do tipo DML ou de sistema que possui uma cláusula WHEN que especifica uma condição SQL que avalia para cada linha afetada pelas instruções presentes no trigger.
( ) Quando um trigger é acionado, as tabelas às quais ele faz referência podem estar passando por alterações feitas por instruções SQL nas transações iniciadas por outros usuários. As instruções SQL executadas com prioridade em relação as instruções SQL independentes.
As afirmativas são, respectivamente,
1. AFTER STATEMENT.
2. AFTER ROW.
3. BEFORE STATEMENT.
4. BEFORE ROW.
( ) Antes da conclusão da operação de evento sobre um único registro da tabela haverá um disparo do gatilho para cada registro afetado pelo comando.
( ) Após a conclusão da operação de evento sobre um ou mais registros, ou seja, um conjunto de tuplas, de acordo com o comando.
( ) Antes da conclusão da operação de evento, o gatilho será disparado e a operação do evento poderá afetar um ou mais registros, ou seja, um conjunto de tuplas, de acordo com o comando.
( ) Após a conclusão da operação de evento sobre somente um registro da tabela haverá um disparo do gatilho para cada registro afetado pelo comando.
A sequência está correta em
( ) Compostos de três componentes: o evento; a condição; e, a ação.
( ) Acionados com a intervenção do usuário, ou seja, o usuário vê o gatilho sendo disparado.
( ) Executados ou acionados apenas se ocorrer um evento, ou seja, uma operação de manipulação de dados.
A sequência está correta em
Em relação a projeto, modelagem e administração de banco de dados, julgue o item subsequente.
Quando acionado, um trigger pode ser executado em
substituição ao comando que o disparou.
No contexto do mecanismo de triggers do PostgreSQL, analise as afirmativas a seguir.
I. Na especificação das ações de um trigger, os valores das colunas sendo afetadas são referenciados pelos prefixos “.NEW” e “.OLD”.
II. Triggers podem acionados para cada uma das linhas afetadas numa operação. Não há acionamento em bloco para o conjunto de linhas afetadas por um comando.
III. BEFORE, AFTER e INSTEAD OF são termos que determinam quando as ações de um trigger serão executadas.
Estão corretas somente as afirmativas
I. A cláusula “OF nome_da_coluna” é usada para disparar o trigger somente quando a coluna específica tiver seu conteúdo alterado (updated).
II. A cláusula “WHEN” pode ser aplicada somente para trigger no nível de linha (row level).
III. A cláusula “REFERENCING OLD AS …” é aplicada somente para operações de inserção na tabela associada ao trigger.
Está correto o que se afirma em
Um recurso muito utilizado em banco de dados é o trigger, que permite ao sistema executar determinadas ações predefinidas, caso o usuário execute algum evento no banco; a desvantagem desse tipo de objeto é que não é possível especificar um procedimento armazenado (stored procedure) em um trigger.
Quanto a gatilhos (triggers), procedimentos armazenados (stored procedures) e gerência de bloqueios, julgue o item subsecutivo.
Trigger é um tipo especial de procedimento armazenado que
é executado em resposta a determinado evento na tabela,
como inserção, exclusão ou atualização de dados.