Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2023

Banco de DadosSQL
Código
qq896920
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Suporte de Banco de Dados
Qual das declarações SQL abaixo revogaria todos os privilégios de um usuário “usuario1” em uma tabela “tabela1”?
  1. AREVOKE ALL ON tabela1 FROM usuario1;
  2. BREVOKE ALL PRIVILEGES ON tabela1 FROM tabela1@usuario1;
  3. CREVOKE SELECT, INSERT, UPDATE, DELETE ON tabela1 FROM usuario1;
  4. DREVOKE ALL PRIVILEGES ON tabela1 FROM usuario1;
  5. EREVOKE EXECUTE ON tabela1 FROM usuario1;
Revelar gabarito e comentário

GabaritoD — REVOKE ALL PRIVILEGES ON tabela1 FROM usuario1;

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

Link permanente: /questoes/qq896920