Pular para o conteúdo principal

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

Banco de DadosOracle
Código
fc044189
Banca
FCC
Órgão
DPE-AM
Ano
2018
Cargo
Analista em Gestão Especializado de Defensoria - Analista de Banco de Dados
O comando do sistema gerenciador de banco de dados Oracle 12c, para retirar o privilégio do usuário abc de exclusão de registros de uma tabela t1, é:
  1. ACANCEL DEL ON t1 FROM abc;
  2. BSTOP SUBTRACT FOR t1 FROM abc;
  3. CREVOKE DELETE ON t1 FROM abc;
  4. DEND ERASE IN PLACE OF t1 FROM abc;
  5. EWITHDRAW REMOVE OF t1 FROM abc;
Revelar gabarito e comentário

GabaritoC — REVOKE DELETE ON t1 FROM abc;

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”.

Comando REVOKE no Oracle 12c

Gabarito: letra C. O comando SQL para retirar privilégios de um usuário é o REVOKE. A sintaxe correta é REVOKE <privilégio> ON <objeto> FROM <usuário>. Para revogar o privilégio de exclusão (DELETE) na tabela t1 do usuário abc, o comando é REVOKE DELETE ON t1 FROM abc;, exatamente como na alternativa C.

A DCL (Data Control Language) do SQL inclui os comandos GRANT (conceder) e REVOKE (revogar). O contexto de apoio confirma que "o comando que concede privilégios é o GRANT, já o que revoga privilégios é o REVOKE" e que a sintaxe é REVOKE <lista de privilégios> ON <nome da relação> FROM <nome do usuário>. Assim, a única alternativa que segue essa sintaxe é a letra C.

Alternativa A — ❌ Incorreta

"CANCEL DEL ON t1 FROM abc;" — não existe comando CANCEL em SQL. O verbo correto é REVOKE.

Alternativa B — ❌ Incorreta

"STOP SUBTRACT FOR t1 FROM abc;" — sintaxe inválida. Nenhum comando SQL utiliza essas palavras-chave.

Alternativa C — ✅ Correta ⟵ GABARITO

"REVOKE DELETE ON t1 FROM abc;" — sintaxe perfeitamente de acordo com o padrão SQL: REVOKE <privilégio> ON <objeto> FROM <usuário>. O privilégio DELETE é o de exclusão de registros.

Alternativa D — ❌ Incorreta

"END ERASE IN PLACE OF t1 FROM abc;" — não corresponde a nenhum comando SQL válido.

Alternativa E — ❌ Incorreta

"WITHDRAW REMOVE OF t1 FROM abc;" — também não é um comando SQL real. O único comando de revogação é REVOKE.

NÃO CAIA NESSA!

A banca insere alternativas com verbos que parecem sinônimos de "revogar" (CANCEL, STOP, END, WITHDRAW), mas que não são comandos SQL. O aluno que conhece a DCL identifica rapidamente o REVOKE. Decore a sintaxe: REVOKE + privilégio + ON + objeto + FROM + usuário.

Gabarito: letra C.

Link permanente: /questoes/fc044189