Questões de Concurso
Comentadas sobre gatilhos (triggers) em banco de dados
Foram encontradas 181 questões
Correntista (cid: integer, cnome: string, sexo: string, cpf: string, profissao: string, salario: numeric)
Depositante (did: integer, dnome: string, sexo: string, cpf: string, profissao: string, salario: numeric)
Beneficiario (beid: integer, benome: string, sexo: string, cpf: string, profissao: string)
Banco (bid: integer, bnome: string)
Agencia (bid: integer, aid: integer, anome: string, cidade: string)
Conta (bid: integer, aid: integer, numero: string, saldo: numeric, tipo: string, cid: integer)
Deposito (bid: integer, aid: integer, numero: string, instante: datetime, valor: numeric, cpf_depositante: string)
Saque (bid: integer, aid: integer, numero: string, instante: datetime, valor: numeric)
Cheque (bid: integer, aid: integer, numero: string, numero_cheque: string, valor: numeric, data: date, cpf_beneficiario, instante_processamento: datetime)
Alerta (bid: integer, aid: integer, numero: string)
OBS: Os campos sublinhados constituem a chave primária das relações. Um correntista pode ter diversas contas.
Seja a função a seguir:
CREATE OR REPLACE FUNCTION inserirAlerta()
RETURNS TRIGGER AS
$$
BEGIN
IF( new.valor > 50000 OR new.valor = 50000) then
INSERT INTO Alerta(bid, aid, numero) VALUES(NEW.bid, NEW.aid,
NEW.numero); RETURN NEW;
ELSE
RETURN NULL;
END IF;
END;
$$
Language 'plpgsql';
Pode-se afirmar, em relação à função dada, que:
CREATE TRIGGER XXXXX AFTER INSERT ON VENDA FOR EACH ROW BEGIN UPDATE ESTOQUE SET Quantidade = Quantidade - NEW.Quantidade WHERE CodProduto = NEW.CodProduto; END
Esse comando cria um trigger (gatilho) que
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:
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:
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.
I. Procedimento armazenado ou Stored Procedure é uma coleção de comandos em SQL para dispensamento de Banco de Dados. Encapsula tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status (para indicar aceitação ou falha na execução). O procedimento armazenado pode reduzir o tráfego na rede, visto que os comandos são executados diretamente no servidor. Além de melhorar a performance, criar mecanismos de segurança entre a manipulação dos dados do Banco de Dados II. Gatilho ou trigger é um recurso de programação executado sempre que o evento associado ocorrer. Trigger é um tipo especial de procedimento armazenado, que é executado sempre que há uma tentativa de modificar os dados de uma tabela que é protegida por ele. É muito utilizada para ajudar a manter a consistência dos dados ou para propagar alterações em um determinado dado de uma tabela para outras. III. Uma view é uma maneira alternativa de observação de dados de uma ou mais entidades (tabelas), que compõem uma base de dados. Pode ser considerada como uma tabela virtual ou uma consulta armazenada. Elas podem ser implementadas também com algumas aplicações de restrição.
Julgue o próximo item a respeito da administração e do gerenciamento de banco de dados.
Trigger é uma instrução que o sistema gerenciador de banco
de dados executa automaticamente como resultado de um
evento sempre que houver uma tentativa de modificar os dados
de uma tabela que é protegida por ele.
I. NOME DO TRIGGER – identifica o nome da trigger como objeto do banco de dados, devendo seguir as regras básicas de nomenclatura de objetos. II. NOME DA TABELA – identifica o nome da tabela à qual o trigger estará ligado, para ser disparado mediante ações de insert, update ou delete. III. Opção X/Y/Z – escolhida para definir o momento em que o trigger será disparado, onde X representa o valor padrão e faz com o que o gatilho seja disparado junto da ação, Y faz com que o disparo se dê somente após a ação que o gerou ser concluída, e Z faz com que o trigger seja executado no lugar da ação que o gerou. IV. Opção M/N/P – escolhida entre as instruções DML para indicar e informar ao banco qual ação irá disparar o gatilho.
Os parâmetros que devem substituir X/Y/Z em III e M/N/P em IV são, respectivamente:
Analise as afirmativas abaixo sobre a utilização de triggers em bancos de dados Oracle 11g.
1. O Oracle suporta triggers de eventos do sistema, que podem ser disparadas ao realizar o startup ou shutdown de um banco de dados, por exemplo.
2. Podem-se criar triggers que sejam disparadas após criar, alterar ou eliminar usuários e também após o logon e logoff de usuários no Oracle, por exemplo.
3. Triggers do tipo INSTEAD OF podem ser usadas em views para gerenciar instruções de inserção de dados em views, por exemplo.
Assinale a alternativa que indica todas as afirmativas corretas.