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
ACONSTRAINT REVOKE update, insert FROM Clientes ON Paulo OPTION CASCADE;
BCREATE ROLE update, insert ON Clientes FROM Paulo WITH REVOKE OPTION;
CREVOKE update, insert FROM Clientes ON Paulo;
DCREATE ROLE update, insert FROM Clientes ON REVOKE;
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.
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.