Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — FCC 2019

Banco de DadosMySQL
Código
fc056356
Banca
FCC
Órgão
SANASA Campinas
Ano
2019
Cargo
Analista de Tecnologia da Informação - Suporte de DBA-Banco de Dados
Para conceder privilégios de execução de uma função chamada CalcularJuros a um usuário de nome Contador no MySQL utiliza-se o comando
  1. AGRANT EXECUTION CalcularJuros ONTO 'Contador'@'localhost';
  2. BON FUNCTION CalcularJuros GRANT EXECUTION PRIVILEGES TO 'Contador'@'localhost';
  3. CGIVEUP FUNCTION CalcularJuros ONTO 'Contador'@'localhost';
  4. DGRANT EXECUTE ON FUNCTION CalcularJuros TO 'Contador'@'localhost';
  5. EGRANT FUNCTION CalcularJuros ON 'Contador'@'localhost';
Revelar gabarito e comentário

GabaritoD — GRANT EXECUTE ON FUNCTION CalcularJuros TO 'Contador'@'localhost';

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

MySQL: Concessão de privilégios para função (GRANT EXECUTE)

Gabarito: letra D. No MySQL, para conceder o privilégio de execução de uma stored function, utiliza-se o comando GRANT EXECUTE ON FUNCTION nome_da_funcao TO usuario;. A sintaxe correta é GRANT EXECUTE ON FUNCTION CalcularJuros TO 'Contador'@'localhost'; (alternativa D).

A banca testa o conhecimento da sintaxe específica do MySQL para concessão de privilégios em objetos do tipo função. A palavra-chave deve ser EXECUTE (não EXECUTION) e a cláusula ON deve especificar o tipo de objeto (FUNCTION).

GRANT EXECUTE ON FUNCTION
  • 1Sintaxe correta
    • GRANT EXECUTE
    • ON FUNCTION nome
    • TO 'usuário'@'host'
  • 2Erros comuns
    • EXECUTION (inexistente)
    • GIVEUP (inexistente)
    • Ordem invertida
    • Faltar tipo do objeto
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Utiliza EXECUTION (termo incorreto) e ONTO (não padrão; o correto é TO após o objeto). Além disso, falta o tipo de objeto (FUNCTION) antes do nome.

Alternativa B — ❌ Incorreta

A ordem está invertida: ON FUNCTION antes de GRANT não é válido. O comando GRANT deve vir primeiro, seguido do privilégio. Também usa EXECUTION e PRIVILEGES desnecessariamente.

Alternativa C — ❌ Incorreta

GIVEUP não é um comando SQL válido. O correto é GRANT.

Alternativa D — ✅ Correta ⟵ GABARITO

Segue a sintaxe padrão do MySQL: GRANT <privilégio> ON <tipo_de_objeto> <nome_do_objeto> TO <usuário>. O privilégio EXECUTE é o correto para funções, o tipo FUNCTION é especificado, e a cláusula TO direciona ao usuário.

Alternativa E — ❌ Incorreta

A sintaxe está trocada: GRANT FUNCTION não é válido. O privilégio (EXECUTE) deve vir antes de ON, e a palavra FUNCTION deve aparecer após ON para identificar o tipo de objeto.

NÃO CAIA NESSA!

A banca troca EXECUTE por EXECUTION (que não existe) e inverte a ordem das palavras-chave (ON FUNCTION antes de GRANT). Além disso, insere termos inexistentes como GIVEUP. O candidato deve lembrar que a sintaxe básica do GRANT é: GRANT <privilégio> ON <objeto> TO <usuário>..

Gabarito: letra D

Link permanente: /questoes/fc056356