Pular para o conteúdo principal

Questão de Banco de Dados — SQL — Quadrix 2025

Banco de DadosSQL
Código
qg597697
Banca
Quadrix
Órgão
CREMESE
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
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.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

Funções e Stored Procedures em SQL

Gabarito: CERTO. A afirmação está correta: funções são semelhantes a stored procedures, mas a principal diferença é que funções retornam um valor e podem ser usadas diretamente em instruções SQL, como em um SELECT. Essa é uma distinção fundamental entre os dois objetos de banco de dados.

Para entender bem essa questão, é preciso dominar o que são stored procedures e funções em um SGBD. Uma stored procedure é um bloco de código SQL pré-compilado e armazenado no banco de dados, que pode receber parâmetros e executar uma série de operações, como inserir, atualizar, deletar ou consultar dados. Ela pode retornar zero, um ou vários valores, mas não é obrigada a retornar um valor específico — e, em geral, não é usada diretamente dentro de uma instrução SELECT.

Já uma função (ou user-defined function) é um objeto que, como o nome sugere, sempre retorna um valor (um escalar, uma tabela, etc.) e pode ser invocada diretamente em expressões SQL, como em SELECT nome_funcao(coluna) FROM tabela. Essa capacidade de ser usada em consultas é o que a torna tão útil para cálculos e transformações de dados no momento da consulta.

A confusão entre os dois conceitos é comum, mas a distinção é clara e bem definida na maioria dos SGBDs relacionais, como SQL Server, PostgreSQL e Oracle. A banca explora exatamente essa diferença: a capacidade de ser usado em SELECT é uma característica marcante das funções, não das procedures.

Na prática, imagine que você precise calcular o imposto sobre um valor de venda. Você poderia criar uma função calcular_imposto(valor) que retorna o valor do imposto. Essa função pode ser usada diretamente em uma consulta: SELECT nome, calcular_imposto(preco) FROM produtos;. Uma stored procedure, por outro lado, seria mais adequada para uma operação que não precisa retornar um valor para ser usada em uma consulta, como um processo de atualização em massa.

A pegadinha desta questão é justamente a inversão dos papéis: se a banca dissesse que stored procedures podem ser usadas diretamente em SELECT, estaria errado. A regra de ouro é: funções retornam valores e são usadas em expressões SQL; procedures executam ações e não são usadas diretamente em SELECT.

Objetos SQL
  • 1Stored procedure
    • Bloco pré-compilado
    • Executa ações (INSERT, UPDATE, DELETE)
    • Retorno opcional (0, 1 ou vários)
    • Não usada em SELECT
  • 2Função
    • Sempre retorna valor
    • Escalar ou tabela
    • Usada em expressões SQL
    • Ex.: SELECT calcular_imposto(preco)
LEVEL · soulevel.com.br

Item — ✅ CERTO

A afirmação "Functions são semelhantes a stored procedures, mas retornam valores e podem ser usadas diretamente em instruções SQL, como SELECT" está correta. Ela captura com precisão as duas principais diferenças entre funções e stored procedures: o retorno de valor e a possibilidade de uso direto em consultas SQL. As funções são, de fato, projetadas para retornar um valor e podem ser incorporadas em expressões, enquanto as stored procedures são mais voltadas para a execução de ações e não são tipicamente usadas em cláusulas SELECT.

PEGA ESSA DICA!

Para fixar, lembre-se da frase: "Função retorna, procedure executa". Se a questão falar em usar o objeto diretamente em um SELECT, a resposta quase sempre será função. Se falar em executar uma sequência de comandos, será procedure. Essa distinção é um clássico em provas de banco de dados.

Gabarito: CERTO

Link permanente: /questoes/qg597697