Analista de Tecnologia da Informação - Suporte de DBA-Banco de Dados
No Oracle 11g, para atribuir os privilégios de SELECT e INSERT na tabela sanasa para o database role engenheiros, utiliza-se o comando
AGRANT SELECT, INSERT ON sanasa TO engenheiros;
BASSIGN PRIVILEGES SELECT, INSERT TO engenheiros ON sanasa;
CGRANT SELECT, INSERT FROM sanasa to engenheiros;
DGRANT SELECT, INSERT TO ROLE(engenheiros) ON sanasa;
EASSIGN SELECT, INSERT TO engenheiros ON sanasa;
Revelar gabarito e comentário▾
GabaritoA — GRANT SELECT, INSERT ON sanasa TO engenheiros;
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”.
Oracle 11g: Comando GRANT
Gabarito: letra A. A sintaxe correta do comando GRANT no Oracle (e no SQL padrão) é GRANT <lista de privilégios> ON <objeto> TO <usuário/role>. Portanto, a alternativa A reproduz fielmente essa estrutura ao conceder SELECT e INSERT na tabela sanasa para o role engenheiros.
A questão testa o conhecimento da sintaxe DCL para concessão de privilégios. O comando GRANT é o único utilizado para essa finalidade no SQL.
Alternativa A — ✅ Correta ⟜ GABARITO
A sintaxe está perfeitamente alinhada com o padrão: GRANT SELECT, INSERT ON sanasa TO engenheiros;. O comando concede os privilégios de consulta e inserção na tabela sanasa para o role engenheiros.
Alternativa B — ❌ Incorreta
Utiliza a palavra ASSIGN no lugar de GRANT. O comando ASSIGN não existe na DCL do SQL – a concessão de privilégios é feita exclusivamente com GRANT.
Alternativa C — ❌ Incorreta
Emprega a preposição FROM em vez de ON. No comando GRANT, o objeto deve ser precedido por ON, e não FROM. FROM é utilizado no comando REVOKE (REVOKE ... FROM ...).
Alternativa D — ❌ Incorreta
Apresenta a construção TO ROLE(engenheiros). A sintaxe correta é TO engenheiros – o role é informado diretamente, sem o wrapper ROLE(). A palavra ROLE não faz parte da cláusula TO.
Alternativa E — ❌ Incorreta
Assim como a alternativa B, utiliza ASSIGN em vez de GRANT, o que é inválido no SQL.
PEGA ESSA DICA!
Memorize a estrutura do GRANT: GRANT ... ON ... TO .... Lembre-se de que "ASSIGN" não é um comando SQL; o correto é GRANT. As palavras-chave FROM, TO ROLE( ) e ASSIGN são distratores comuns. Pratique a sintaxe com diferentes combinações de privilégios e objetos.