Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FCC 2016

Banco de DadosPL-SQL
Código
fc033434
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2016
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Para retirar os privilégios update e insert concedidos ao usuário Paulo na tabela Clientes utiliza-se, na PL/SQL do Oracle 11g, a instrução
  1. ACONSTRAINT REVOKE update, insert FROM Clientes ON Paulo OPTION CASCADE;
  2. BCREATE ROLE update, insert ON Clientes FROM Paulo WITH REVOKE OPTION;
  3. CREVOKE update, insert FROM Clientes ON Paulo;
  4. DCREATE ROLE update, insert FROM Clientes ON REVOKE;
  5. EREVOKE update, insert ON Clientes FROM Paulo;
Revelar gabarito e comentário

GabaritoE — REVOKE update, insert ON Clientes FROM Paulo;

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

Sintaxe do comando REVOKE no Oracle para revogação de privilégios

Gabarito: letra E. A sintaxe correta do comando REVOKE no Oracle (e no SQL padrão) é: REVOKE <lista de privilégios> ON <objeto> FROM <usuário>;. A alternativa E reproduz exatamente essa ordem: REVOKE update, insert ON Clientes FROM Paulo. As demais alternativas apresentam erros de sintaxe, invertendo os elementos ou utilizando comandos incorretos.

A banca testa o conhecimento da sintaxe exata da DCL (Data Control Language) para revogação de privilégios, especificamente no Oracle 11g. O comando REVOKE é o oposto do GRANT e deve seguir a estrutura REVOKE privilégios ON objeto FROM usuário.

1Sintaxe correta
REVOKE privilégios
ON objeto
FROM usuário
2Exemplo
REVOKE update, insert
ON Clientes
FROM Paulo
3Erros comuns
Inverter ON/FROM
Usar CONSTRAINT
Usar CREATE ROLE
REVOKE (Oracle/SQL)
LEVELsoulevel.com.br
REVOKE (Oracle/SQL): Sintaxe correta (REVOKE privilégios, ON objeto, FROM usuário); Exemplo (REVOKE update, insert, ON Clientes, FROM Paulo); Erros comuns (Inverter ON/FROM, Usar CONSTRAINT, Usar CREATE ROLE)

Alternativa A — ❌ Incorreta

Utiliza CONSTRAINT REVOKE ... OPTION CASCADE, que não é uma sintaxe válida. A palavra CONSTRAINT não faz parte do comando REVOKE e a ordem FROM Clientes ON Paulo está invertida.

Alternativa B — ❌ Incorreta

Usa CREATE ROLE, que é um comando para criar papéis (roles), e não para revogar privilégios. Além disso, a sintaxe update, insert ON Clientes FROM Paulo WITH REVOKE OPTION está equivocada.

Alternativa C — ❌ Incorreta

A ordem está trocada: escreve FROM Clientes ON Paulo quando o correto é ON Clientes FROM Paulo. O comando REVOKE exige que o objeto venha após ON e o usuário após FROM.

Alternativa D — ❌ Incorreta

Novamente utiliza CREATE ROLE, que é inadequado. A construção FROM Clientes ON REVOKE não faz sentido.

Alternativa E — ✅ Correta ⟵ GABARITO

Exibe a sintaxe correta: REVOKE update, insert ON Clientes FROM Paulo. A lista de privilégios (update, insert) vem após REVOKE, seguida de ON com o nome do objeto (Clientes) e FROM com o nome do usuário (Paulo).

NÃO CAIA NESSA!

A banca explora a inversão da ordem entre ON e FROM. O candidato pode confundir com a ordem do comando GRANT (que usa TO), mas no REVOKE o correto é ON objeto FROM usuário. Memorize: primeiro o objeto (tabela), depois o usuário.

Gabarito: letra E.

Link permanente: /questoes/fc033434