Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2015

Banco de DadosOracle
Código
fc020487
Banca
FCC
Órgão
MPE-PB
Ano
2015
Nível
Superior
Cargo
Analista de Sistemas – Administrador de Banco de Dados
Considere os itens a seguir: I. Uma instrução DML (DELETE, INSERT ou UPDATE).II. Uma instrução DDL (CREATE, ALTER ou DROP).III. Uma instrução DTL (COMMIT, ROLLBACK ou REVOKE). IV. Uma operação em banco de dados como SERVERERROR, LOGON, LOGOFF, STARTUP ou SHUTDOWN. No Oracle, é possível gravar triggers que são acionados sempre que ocorre no banco de dados as operações descritas APENAS em
  1. AI e IV.
  2. BII e III.
  3. CI, II e IV.
  4. DII e IV.
  5. EI e II.
Revelar gabarito e comentário

GabaritoC — I, II e IV.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Triggers no Oracle

Gabarito: letra C. No Oracle, triggers podem ser disparados por instruções DML (DELETE, INSERT, UPDATE), DDL (CREATE, ALTER, DROP) e operações de banco de dados (SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN). Instruções DTL (COMMIT, ROLLBACK, REVOKE) não disparam triggers. A banca cobra o conhecimento dos eventos que ativam gatilhos.

A definição no material de estudo esclarece:

Os triggers são, de fato, escritos para serem executados em resposta a qualquer um dos seguintes eventos: § Uma instrução de manipulação de banco de dados (DML) (DELETE, INSERT ou UPDATE) § Uma instrução de definição de banco de dados (DDL) (CREATE, ALTER ou DROP). § Uma operação de banco de dados (SERVERERROR, LOGON, LOGOFF, STARTUP ou SHUTDOWN).

Portanto, estão corretos os itens I (DML), II (DDL) e IV (operações de banco). O item III (DTL) está incorreto.

Evento / Instrução

Dispara Trigger no Oracle?

Exemplos

I. DML (DELETE, INSERT, UPDATE)

✅ Sim

DELETE FROM, INSERT INTO, UPDATE

II. DDL (CREATE, ALTER, DROP)

✅ Sim

CREATE TABLE, ALTER INDEX, DROP VIEW

III. DTL (COMMIT, ROLLBACK, REVOKE)

❌ Não

COMMIT, ROLLBACK, REVOKE

IV. Operações de banco (SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN)

✅ Sim

LOGON, STARTUP, SHUTDOWN

Item I — ✅ Correto

Triggers DML são acionados por comandos DELETE, INSERT e UPDATE. É o tipo mais comum de trigger.

Item II — ✅ Correto

Triggers DDL são acionados por comandos como CREATE, ALTER e DROP. Exemplo: um trigger que registra alterações no esquema.

Item III — ❌ Incorreto

DTL (ou TCL) inclui COMMIT, ROLLBACK e SAVEPOINT; REVOKE é na verdade DCL. Nenhum desses comandos dispara triggers no Oracle. A banca tenta confundir incluindo um tipo de comando que não é evento de trigger.

Item IV — ✅ Correto

Triggers de sistema (database event triggers) são acionados por eventos como LOGON, LOGOFF, STARTUP, SHUTDOWN e SERVERERROR.

NÃO CAIA NESSA!

O item III menciona DTL (COMMIT, ROLLBACK, REVOKE). O candidato desatento pode achar que todo comando SQL gera trigger, mas no Oracle apenas DML, DDL e eventos de banco disparam gatilhos. Memorize essa tríade.

Gabarito: letra C — corretos os itens I, II e IV.

Link permanente: /questoes/fc020487