Em SQL, qual comando DCL é utilizado para revogar a permissão de SELECT sobre uma tabela?
AGRANT SELECT ON tabela TO usuario
BREVOKE SELECT ON tabela FROM usuario
CDENY SELECT ON tabela TO usuario
DREVOKE ALL PRIVILEGES ON tabela
Revelar gabarito e comentário▾
GabaritoB — REVOKE SELECT ON tabela FROM usuario
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”.
SQL DCL: REVOKE
Gabarito: letra B. O comando REVOKE é o da DCL (Data Control Language) utilizado para revogar permissões previamente concedidas. A sintaxe padrão é REVOKE <privilégio> ON <objeto> FROM <usuário>, o que corresponde exatamente à alternativa B. Os demais comandos ou concedem privilégios (GRANT), usam uma palavra-chave não padrão (DENY), ou não especificam o privilégio e carecem da cláusula FROM.
A DCL é a sublinguagem do SQL responsável pelo controle de acesso, composta principalmente pelos comandos GRANT (conceder) e REVOKE (revogar). A questão testa o conhecimento básico desses comandos.
Alternativa A — ❌ Incorreta
O comando GRANT SELECT ON tabela TO usuarioconcede a permissão de SELECT, não a revoga. É o oposto do que se pede.
Alternativa B — ✅ Correta ⟵ GABARITO
REVOKE SELECT ON tabela FROM usuario é a sintaxe correta para revogar a permissão de SELECT. O comando REVOKE retira privilégios anteriormente concedidos pelo GRANT.
Alternativa C — ❌ Incorreta
DENY não é um comando padrão da DCL. Embora exista em alguns SGBDs (como SQL Server) para negar explicitamente uma permissão, a DCL padrão do SQL (definida pelo ANSI) inclui apenas GRANT e REVOKE. Além disso, a sintaxe apresentada (DENY ... TO) não é a usual para revogação – o comando correto seria REVOKE.
Alternativa D — ❌ Incorreta
REVOKE ALL PRIVILEGES ON tabela revoga todos os privilégios sobre a tabela, mas não restringe ao SELECT e, principalmente, falta a cláusula FROM, que é obrigatória para indicar o usuário. A sintaxe completa seria REVOKE ALL PRIVILEGES ON tabela FROM usuario.
NÃO CAIA NESSA!
A alternativa C (DENY) pode enganar quem conhece bancos como SQL Server. Contudo, a DCL padrão do SQL é composta apenas por GRANT e REVOKE. O DENY não faz parte do padrão ANSI e, mesmo onde existe, não é o comando DCL para revogar – a revogação sempre é feita com REVOKE.
PEGA ESSA DICA!
Decore a dupla GRANT (concede) e REVOKE (revoga). Para lembrar a sintaxe do REVOKE: use a palavra FROM (e não TO) para indicar o usuário.