Questão de Banco de Dados — Oracle — FCC 2014
Banco de DadosOracle
- Código
- fc015419
- Banca
- FCC
- Órgão
- TRT - 13ª Região (PB)
- Ano
- 2014
- Nível
- Superior
- Cargo
- Analista Judiciário - Tecnologia da Informação
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 lineitemsFOR EACH ROWBEGINIF (INSERTING OR UPDATING)THENUPDATE orders SET line_items_count = NVL(line_items_count,0)+1WHERE order_id = :new.order_id;END IF;IF (DELETING OR UPDATING)THEN UPDATE orders SET line_items_count = NVL(line_items_count,0)-1WHERE 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
- AI e IV.
- BI
- CII e IV.
- DII e III.
- EIII.