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.
- SELF_IS_NULL
- NOT_LOGGED_ON
- TOO_MANY_ROWS
- 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