Questões de Concurso
Comentadas sobre gatilhos (triggers) em banco de dados
Foram encontradas 176 questões
Na programação desses gatilhos, as variáveis de transição (geralmente chamadas de 'OLD' e 'NEW') permitem ao desenvolvedor acessar diferentes estados de uma tupla (linha) no momento do disparo.
Considerando um gatilho disparado por uma instrução DELETE, assinale a opção que indica a disponibilidade e o conteúdo dessas variáveis.
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
Uma equipe está desenvolvendo um sistema de pedidos, utilizando PostgreSQL. Existe uma tabela pedidos com as colunas:
id
cliente_id
valor_total
status
criado_em
atualizado_em
Durante uma auditoria interna, um analista de banco de dados identificou que o campo atualizado_em nem sempre reflete a última modificação do registro, pois a aplicação depende do backend para atualizar esse campo manualmente. Em alguns casos, desenvolvedores esqueceram de atualizar o timestamp em operações de UPDATE, gerando inconsistência nos relatórios.
A equipe decidiu resolver o problema no nível do banco de dados, garantindo que o campo atualizado_em seja atualizado automaticamente sempre que houver alteração no registro.
Assinale a alternativa que apresenta o comando que garante que o campo atualizado_em seja atualizado automaticamente sempre que um registro da tabela pedidos for modificado:
( ) Stored proceduressão blocos de códigos armazenados no banco de dados que podem ser executados sob demanda por aplicações ou usuários autorizados.
( ) Triggers são acionadas automaticamente em resposta a eventos como INSERT, UPDATE ou DELETE sobre uma tabela.
( ) Stored procedures não podem receber parâmetros de entrada, pois sua execução é totalmente estática.
( ) Triggers podem ser utilizadas para impor regras de integridade e auditoria sem necessidade de execução explícita pelo usuário.
A sequência está correta em
Triggers são um mecanismo fundamental para que se garanta a integridade dos dados e a consistência das transações. Eles são uma forma de controle de fluxo dentro de uma base de dados.
Em relação aos tipos e modos de execução de triggers em sistemas de gerenciamento de bancos de dados relacionais, assinale a opção correta.
Assinale a opção que identifica e descreve a finalidade do recurso de programação de servidor mais adequado para garantir essa ação automática.
O recurso de banco de dados mais apropriado e programático para automatizar essa captura de eventos e garantir a segurança de auditoria no nível da aplicação é o
Esse recurso é denominado:
Triggers são normas do mundo corporativo que estabelecem a integridade ou consistência do Banco de Dados. Os padrões SQL foram estabelecidos em 1999. O principal propósito é acompanhar o SGBD e tomar alguma medida quando uma condição se manifesta. Entre os benefícios do seu uso, destaca-se:
I) Sempre que um evento acontece, um gatilho é ativado, prevenindo assim incoerências sobre o banco de dados.
II) O modelo de ativação central é compatível com o modelo cliente/servidor, o que significa que a execução da trigger ocorre no servidor, independentemente do aplicativo que o cliente está executando.
III) Executar consultas avançadas em comandos SQL SELECT.
IV) O Administrador de Banco de Dados (DBA) estabelece suas circunstâncias, acontecimentos e ações.
São apresentadas vantagens inválidas do uso de triggers em: