Oracle: Comando GRANT e a cláusula WITH GRANT OPTION
Gabarito: letra B. Para permitir que um usuário estenda seus privilégios de objeto a outros usuários, deve-se incluir a cláusula WITH GRANT OPTION no comando GRANT. A lacuna ...I... deve ser preenchida com GRANT OPTION (alternativa B), formando WITH GRANT OPTION. É o que determina a sintaxe padrão da DCL (Data Control Language) do SQL.
A questão testa o conhecimento da sintaxe do comando GRANT, especificamente a opção que permite a propagação de privilégios.
Alternativa A — ❌ Incorreta
PERMISSION CASCADE não é uma cláusula válida do SQL. O termo CASCADE é usado em outros comandos como REVOKE ... CASCADE, mas não para conceder permissão de repasse. A cláusula correta é WITH GRANT OPTION, que contém GRANT OPTION.
Alternativa B — ✅ Correta ⟵ GABARITO
GRANT OPTION é a parte que completa a cláusula WITH GRANT OPTION. A sintaxe correta é GRANT ... TO ... WITH GRANT OPTION, que permite ao usuário destinatário conceder os mesmos privilégios a outros.
Alternativa C — ❌ Incorreta
GRANT PRIVILEGE não é uma opção do comando GRANT. O privilégio é especificado na lista antes do ON; a opção para repasse é GRANT OPTION, não PRIVILEGE.
Alternativa D — ❌ Incorreta
EXTEND ROLE não faz parte da sintaxe do GRANT. A extensão de privilégios é feita com GRANT OPTION, e não com EXTEND. ROLE é um conceito diferente (conjunto de privilégios).
Alternativa E — ❌ Incorreta
GRANT CASCADE não é uma cláusula válida. O termo CASCADE é utilizado em REVOKE CASCADE para revogação em cascata, mas não para conceder permissão de repasse. O correto é GRANT OPTION.
Conclusão: A lacuna deve ser preenchida com GRANT OPTION, formando WITH GRANT OPTION, que corresponde à alternativa B.