FC ConcursosFC Concursos

Questão FC374560

Qual das alternativas contém uma afirmação INCORRETA sobre o código PL/SQL apresentado?

Linguagem SQL

Instituto Consulplan · 2025

Um analista de sistemas da Prefeitura Municipal de Nova Iguaçu precisa gerar um relatório de arrecadação fiscal. Para isso, ele escreve a seguinte consulta em PL/SQL para calcular o total de impostos pagos pelos contribuintes:

 

DECLARE

    v_total NUMBER;

BEGIN

    SELECT SUM(valor) INTO v_total

    FROM pagamentos

    WHERE categoria = 'IMPOSTO';

 

    DBMS_OUTPUT.PUT_LINE('Total de impostos arrecadados: ' || v_total);

END;

 

Ao revisar o código, foram identificados erros conceituais que podem comprometer sua execução.

 

Qual das alternativas contém uma afirmação INCORRETA sobre o código PL/SQL apresentado?

  1. A variável v_total precisa ser declarada antes do bloco BEGIN.
  2. O comando SELECT INTO pode falhar se a consulta retornar múltiplas linhas.
  3. A variável v_total pode armazenar qualquer quantidade de valores retornados pelo SUM( ).
  4. O pacote DBMS_OUTPUT precisa ser ativado com SET SERVEROUTPUT ON para exibir a saída.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A afirmação é incorreta porque SUM() não devolve uma coleção de valores, mas sim um único valor agregado. Em SQL/PL/SQL a função de agregação calcula o total das linhas consultadas e retorna um escalar: \(v = \text{SUM(valor)}\).

Assim, a variável v_total recebe exatamente esse único resultado (ou NULL se não houver linhas). Não há "vários valores" para serem armazenados em uma única variável escalar.

Se a consulta fosse projetada para retornar múltiplas linhas (por exemplo, sem agregação), o uso de SELECT INTO causaria erro de execução. Portanto, afirmar que v_total pode armazenar qualquer quantidade de valores retornados por SUM() está conceitualmente errado.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo