Os dados são tão importantes que são considerados como o “...

Próximas questões
Com base no mesmo assunto
Q3504799 Banco de Dados

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.

Alternativas

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