Questões de Concurso
Sobre gatilhos (triggers) em banco de dados
Foram encontradas 205 questões
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
Na descrição de uma Trigger podem-se encontrar três partes: (i) evento que é a alteração no banco de dado que ativa a trigger; (ii) condição, consulta ou teste que é executado quando a trigger é ativada; e (iii) ação que diz respeito ao procedimento que é executado quando a trigger é ativada e quando a condição é verdadeira.
Sobre triggers no SGBD Microsoft SQL Server, assinale V para a afirmativa verdadeira e F para afirmativa falsa.
( ) Não é permitido criar trigger de DELETE/UPDATE em colunas de tabelas que sejam chaves estrangeiras e tenham configurado DELETE/UPDATE de forma CASCADE. ( ) Uma das maneira de auditar tabelas de bancos de dados é usando trigges. No SQL Server é permitido construir triggers em eventos do TRUNCATE TABLE uma vez que esse comando não deixa de ser de fato um comando de DELETE. ( ) É permitido criar triggers para eventos de CREATE, DROP, ALTER, RESTORE DATABASE assim como para LOGON com intuito de aumentar a segurança do banco de dados.
As afirmativas são, respectivamente,
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
Com relação ao código no SGBD MySQL apresentado acima, julgue o item.
Como foram especificados os delimitadores (DELIMITER) no corpo do trigger, todo o processamento será executado na
aplicação, ou seja, na máquina do cliente, o que poupará recursos do servidor MySQL.
Com relação ao código no SGBD MySQL apresentado acima, julgue o item.
Esse gatilho será disparado somente quando um registro da tabela profissional for removido.
Com relação ao código no SGBD MySQL apresentado acima, julgue o item.
O trigger registro_conselho tem como objetivo inserir um texto na tabela avisos se o crcpr do profissional for nulo.
Com relação ao código no SGBD MySQL apresentado acima, julgue o item.
Caso esse trigger seja implementado, o MySQL impedirá a inserção de registros na tabela profissional, uma vez que, no
código, há a presença de diversos erros de sintaxe.
Com relação ao código no SGBD MySQL apresentado acima, julgue o item.
No MySQL, esse tipo de trigger (AFTER INSERT) é o único que não é disparado automaticamente após a ocorrência do
evento para o qual ele foi definido.
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.
