Questões de Concurso Comentadas por alunos sobre gatilhos (triggers) em banco de dados

Foram encontradas 159 questões

Resolva questões gratuitamente!

Junte-se a mais de 4 milhões de concurseiros!

Q483423 Banco de Dados
Marque C,se a proposição é verdadeira; E,se a proposição é falsa.

A execução apresentada do script deflagrará a execução da trigger trg_01,construída em PL/SQL, que  é demonstrada a seguir.

update tabela_a
set coluna_a = ‘X’
where coluna_b = ‘Y’;

create trigger trg_01
before delete on tabela_a
begin
insert into tabela_b values (‘W’, ‘K’);
end;
Alternativas
Q481269 Banco de Dados
Na linguagem PL/SQL, deseja-se desabilitar um trigger denominado Abc, mas não excluí-lo do banco de dados. O comando que realiza esta tarefa é
Alternativas
Q463177 Banco de Dados
No que se refere a arquitetura e políticas de armazenamento de dados e funções, triggers e procedimentos armazenados, controle e processamento de transações, julgue o item abaixo.

Para a automatização dos procedimentos derivados das operações de inserção, alteração ou exclusão no banco de dados, pode-se utilizar o gatilho, procedimento armazenado que é executado sempre que houver uma dessas operações sob condições determinadas pelo projetista do banco de dados.
Alternativas
Q461202 Banco de Dados
A diferença básica dos conceitos de trigger e stored procedure é que, respectivamente:
Alternativas
Q455252 Banco de Dados
Em um ambiente de banco de dados Oracle 11g ideal, foram criadas duas tabelas por meio das instruções PL/SQL a seguir: 

CREATE TABLE orders (order_id NUMBER PRIMARY KEY, line_items_count NUMBER DEFAULT 0 ); CREATE TABLE lineitems (order_id REFERENCES orders, seq_no NUMBER, CONSTRAINT lineitems PRIMARY KEY(order_id,seq_no) );

Foi criada, relacionada às tabelas, a seguinte trigger, colocada em execução:


CREATE OR REPLACE TRIGGER lineitems_trigger    AFTER INSERT OR UPDATE OR DELETE ON lineitems    FOR EACH ROW BEGIN    IF (INSERTING OR UPDATING)    THEN      UPDATE orders SET line_items_count = NVL(line_items_count,0)+1      WHERE order_id = :new.order_id;   END IF;    IF (DELETING OR UPDATING)   THEN
     UPDATE orders SET line_items_count = NVL(line_items_count,0)-1       WHERE order_id = :old.order_id;   END IF; END; /
Em seguida, foram executadas as instruções abaixo, nesta ordem:
INSERT INTO orders (order_id) VALUES (78); INSERT INTO orders(order_id) VALUES (92); INSERT INTO lineitems (order_id, seq_no) VALUES (78,1); INSERT INTO lineitems (order_id, seq_no) VALUES (78,2); SELECT * FROM orders;




Considere:

I. Ao executar a instrução INSERT INTO orders (order_id) VALUES (78); a trigger incrementou o valor contido no campo line_items_count passando de 0 para 1.

II. Ao executar a instrução INSERT INTO lineitems (order_id, seq_no) VALUES (78,1); a trigger incrementou o valor contido no campo line_items_count da tabela orders passando de 0 para 1.

III. Ao executar a instrução INSERT INTO lineitems (order_id, seq_no) VALUES (78,2); a trigger incrementou o valor contido no campo line_items_count da tabela orders passando de 1 para 2.

IV. A instrução SELECT * FROM orders; mostrará no campo line_items_count da linha cujo order_id é 78 o valor 3.

Está correto o que consta APENAS em
Alternativas
Respostas
76: E
77: E
78: C
79: B
80: D