Pular para o conteúdo principal

Questão de Banco de Dados — SQL — Avança SP 2024

Banco de DadosSQL
Código
qg078046
Banca
Avança SP
Órgão
CISBRA - SP
Ano
2024
Nível
Superior
Cargo
Analista em T.I
Em SQL, funções (também chamadas de rotinas, ou subprogramas) são segmentos de programa que executam uma determinada tarefa específica. É… possível ao administrador do SGBD, escrever suas próprias rotinas, no MySQL. Para obter todas as informações sobre as funções do SGBD, pode-se usar o comando:
  1. ASHOW MASTER STATUS
  2. BSHOW FULL PROCESSLIST
  3. CSHOW GRANTS
  4. DSHOW TABLE STATUS
  5. ESHOW PROCEDURE STATUS
Revelar gabarito e comentário

GabaritoE — SHOW PROCEDURE STATUS

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

Comandos SHOW no MySQL: funções e procedimentos armazenados

Gabarito: letra E. Para obter todas as informações sobre as funções (e também procedimentos) armazenados no MySQL, o comando correto é SHOW PROCEDURE STATUS — ele lista tanto procedimentos quanto funções, pois no MySQL ambos são tratados como "stored routines". As demais alternativas exibem informações de outra natureza (status do servidor, processos em execução, permissões e status de tabelas), não as rotinas definidas pelo usuário.

O MySQL oferece um conjunto de comandos SHOW que permitem ao administrador consultar metadados do servidor, do banco de dados e dos objetos armazenados. A questão cobra exatamente o conhecimento de qual comando retorna informações sobre as rotinas (funções e procedimentos) criadas pelo usuário. É importante destacar que, no MySQL, o comando SHOW PROCEDURE STATUS é o comando genérico para listar tanto procedimentos quanto funções armazenadas — a documentação oficial do MySQL confirma que ele exibe informações sobre "stored procedures" e "stored functions".

A distinção central está no que cada comando SHOW retorna:

Comando

O que exibe

SHOW MASTER STATUS

Informações sobre o log binário (arquivos e posições) — usado em replicação

SHOW FULL PROCESSLIST

Lista de processos/threads em execução no servidor

SHOW GRANTS

Privilégios concedidos a um usuário

SHOW TABLE STATUS

Informações sobre as tabelas (engine, número de linhas, tamanho, etc.)

SHOW PROCEDURE STATUS

Informações sobre procedimentos e funções armazenados

A pegadinha da banca está em associar "funções" a um comando específico de funções, quando na verdade o MySQL unifica o comando para procedimentos e funções. O candidato que conhece apenas SHOW PROCEDURE STATUS como comando de rotinas pode estranhar o nome, mas é exatamente ele que resolve a questão. Vale lembrar que existe também o comando SHOW FUNCTION STATUS, que lista apenas funções, mas ele não aparece nas alternativas — e mesmo que aparecesse, o comando SHOW PROCEDURE STATUS é o mais abrangente e o que a documentação do MySQL indica para listar todas as rotinas.

Guarde esta relação: para cada tipo de objeto no MySQL, existe um comando SHOW correspondente. A questão testa se o candidato sabe associar o comando certo ao objeto "funções/procedimentos armazenados".

Alternativa A — ❌ Incorreta

SHOW MASTER STATUS exibe informações sobre o log binário do servidor, como o nome do arquivo e a posição atual. É um comando voltado para configuração e monitoramento de replicação, não para listar funções ou procedimentos armazenados. A banca o incluiu como distrator para confundir quem associa "status" a "informações do servidor" de forma genérica.

Alternativa B — ❌ Incorreta

SHOW FULL PROCESSLIST lista as conexões e threads ativas no servidor MySQL, mostrando informações como ID da conexão, usuário, host, banco em uso e a consulta em execução. É uma ferramenta de monitoramento de processos, não de rotinas armazenadas. O erro aqui é confundir "processos em execução" com "funções/procedimentos definidos no banco".

Alternativa C — ❌ Incorreta

SHOW GRANTS exibe os privilégios concedidos a um usuário específico (ou ao usuário atual, se nenhum for especificado). É um comando da área de segurança e controle de acesso, não tem relação com funções ou procedimentos. A banca o usa para testar se o candidato confunde "informações sobre o SGBD" com "informações sobre permissões de usuários".

Alternativa D — ❌ Incorreta

SHOW TABLE STATUS retorna informações detalhadas sobre as tabelas de um banco de dados, como engine de armazenamento, número de linhas, tamanho em disco, data de criação e última atualização. É um comando de administração de tabelas, não de rotinas. O distrator aqui é a palavra "status", que pode levar o candidato a pensar que qualquer comando com "status" serve para obter informações gerais.

Alternativa E — ✅ Correta ⟵ GABARITO

SHOW PROCEDURE STATUS é o comando que lista informações sobre as rotinas armazenadas no MySQL — tanto procedimentos quanto funções. A documentação oficial do MySQL confirma que este comando exibe o status das stored procedures e stored functions, incluindo nome, banco de dados, tipo (PROCEDURE ou FUNCTION), criador, data de criação e última alteração. É exatamente o que o enunciado pede: "obter todas as informações sobre as funções do SGBD".

PEGA ESSA DICA!

Para memorizar os comandos SHOW do MySQL, agrupe-os por finalidade: replicação (SHOW MASTER STATUS), processos (SHOW FULL PROCESSLIST), segurança (SHOW GRANTS), tabelas (SHOW TABLE STATUS) e rotinas (SHOW PROCEDURE STATUS). Na prova, quando a questão falar em "funções" ou "procedimentos", lembre-se que o MySQL usa o mesmo comando para ambos — SHOW PROCEDURE STATUS — e que existe também SHOW FUNCTION STATUS para listar apenas funções, caso apareça em alguma alternativa.

Gabarito: letra E

Link permanente: /questoes/qg078046