Os dados são tão importantes que são considerados como o “...
Os dados são tão importantes que são considerados como o “novo petróleo” e armazená‑los é função dos SGBD. A partir dessa informação, julgue o item seguinte.
Functions são semelhantes a stored procedures, mas retornam valores e podem ser usadas diretamente em instruções SQL, como SELECT.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C – CERTO
1. Tema central da questão
Esta questão aborda a diferença entre functions (funções) e stored procedures (procedimentos armazenados) em bancos de dados relacionais, especialmente no contexto do uso de SQL.
2. Resumo teórico
Em bancos de dados como Oracle, PostgreSQL e SQL Server, funções (functions) e procedimentos armazenados são tipos de objetos de programação armazenados no próprio SGBD. Ambos permitem agrupar comandos SQL para reutilização, mas possuem diferenças fundamentais:
- Funções sempre retornam um valor (ou conjunto de valores) e podem ser utilizadas diretamente em comandos SQL, como no SELECT.
- Stored procedures não retornam, necessariamente, um valor e não podem ser usadas diretamente em um SELECT — são chamadas via comandos específicos (como CALL ou EXEC).
Referências: Manual Oracle PL/SQL, Microsoft Docs - SQL Server Functions
3. Justificativa da alternativa correta
A afirmação está correta, pois descreve exatamente a principal diferença entre funções e procedures: funções retornam valores e podem ser chamadas diretamente em instruções SQL, como SELECT, enquanto procedures não têm essa característica.
Exemplo prático:
SELECT calcular_idade(data_nascimento) FROM pessoas;
Neste exemplo, calcular_idade é uma função que pode ser usada diretamente no SELECT.
4. Estratégias para interpretação
Ao ler questões desse tipo, atente-se aos termos “retorna valor” e “pode ser usada em SELECT”, pois são pontos-chave para diferenciar funções de procedures. Cuidado com pegadinhas envolvendo o uso direto em instruções SQL!
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gabarito: Certo.
Diferenças Fundamentais entre Functions (UDFs) e Stored Procedures:
Retorno Obrigatório: Uma Function (função definida pelo usuário) é projetada conceitualmente para calcular e retornar obrigatoriamente um valor (seja um valor escalar ou uma tabela/conjunto de resultados).
Uso em Expressões SQL: Justamente por retornar um valor determinável, ela pode ser invocada diretamente em cláusulas DML comuns, como SELECT, WHERE, HAVING e JOIN (ex.: SELECT nome, fn_calcula_idade(data_nasc) FROM Pacientes).
Stored Procedures: São blocos de código voltados à execução de lógica de negócios e tarefas operacionais/administrativas no banco. Não precisam retornar valor, não podem ser chamadas diretamente dentro de expressões de uma cláusula SELECT comum (são invocadas via comandos próprios como EXEC ou CALL) e, diferentemente da maioria das funções, têm permissão para alterar o estado permanente do banco e controlar transações explicitamente (COMMIT/ROLLBACK).
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo