FC ConcursosFC Concursos

Questão FC374595

No banco de dados Oracle as exceções “são usadas para tratar erros em tempo de execução no código PL/SQL”. Existem diversas exceções que já são predefinidas. Uma dessas denota “uma

Sistema de Gerenciamento de Banco de Dados (SGBD)

Instituto Consulplan · 2022

No banco de dados Oracle as exceções “são usadas para tratar erros em tempo de execução no código PL/SQL”. Existem diversas exceções que já são predefinidas. Uma dessas denota “uma instrução SELECT INTO retornou mais de uma linha”. Assinale tal exceção.

  1. SELF_IS_NULL
  2. NOT_LOGGED_ON
  3. TOO_MANY_ROWS
  4. SYS_INVALID_ROWID
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A exceção TOO_MANY_ROWS no Oracle é acionada quando uma instrução SELECT INTO retorna mais de uma linha, mas o bloco espera armazenar o resultado em variáveis escalares (uma única linha).


Em PL/SQL isso indica que a consulta recuperou mais registros do que o esperado, tornando impossível atribuir os valores a variáveis simples sem ambiguidade.


Para tratar essa situação, use um bloco EXCEPTION com WHEN TOO_MANY_ROWS THEN e implemente lógica alternativa (por exemplo: selecionar apenas uma linha com filtros/ROWNUM, usar cursor/loop, ou coletar múltiplos resultados com BULK COLLECT).


Assim você evita falhas em tempo de execução e garante comportamento controlado quando a consulta retorna várias linhas.

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

Continue aprendendo