Comando REVOKE no SQL
Gabarito: letra D. A declaração que revoga TODOS os privilégios de um usuário sobre uma tabela deve usar a sintaxe REVOKE ALL PRIVILEGES ON objeto FROM usuario, conforme padrão SQL. A alternativa D é a única que atende a essa sintaxe corretamente.
A questão testa o conhecimento do comando DCL REVOKE. A banca usa a variação ALL PRIVILEGES (cláusula completa) versus ALL (que não é padrão) e outros distratores.
Alternativa A — ❌ Incorreta
Utiliza ALL sem o termo PRIVILEGES. A sintaxe padrão SQL exige ALL PRIVILEGES para a revogação total; ALL isolado não é reconhecido.
Alternativa B — ❌ Incorreta
Apresenta erro na especificação do usuário: FROM tabela1@usuario1. O correto é apenas o nome do usuário (FROM usuario1). Além disso, a sintaxe geral está fora do padrão.
Alternativa C — ❌ Incorreta
Revoga apenas os privilégios listados (SELECT, INSERT, UPDATE, DELETE), não todos os privilégios. O enunciado pede a revogação de todos os privilégios.
Alternativa D — ✅ Correta ⟵ GABARITO
Sintaxe exata: REVOKE ALL PRIVILEGES ON tabela1 FROM usuario1;. Essa é a forma padrão SQL para cancelar todos os privilégios concedidos ao usuário sobre a tabela.
Alternativa E — ❌ Incorreta
Utiliza o privilégio EXECUTE, que não é aplicável a tabelas (é para stored procedures/funções) e revoga apenas esse privilégio, não todos.
Conclusão: A única declaração que revoga todos os privilégios com a sintaxe correta é a alternativa D.
Gabarito: letra D.