FC ConcursosFC Concursos

Questão FC374562

O PL/SQL (Procedural Language / Structured Query Language – Linguagem Procedural / Linguagem de Consulta Estruturada) foi introduzido pela Oracle no Oracle Database 6. Permite escr

Linguagem SQL

Instituto Consulplan · 2021

O PL/SQL (Procedural Language / Structured Query Language – Linguagem Procedural / Linguagem de Consulta Estruturada) foi introduzido pela Oracle no Oracle Database 6. Permite escrever programas que contêm instruções SQL. No código PL/SQL, as exceções são usadas para tratar erros em tempo de execução. Sobre as exceções em PL/SQL, assinale a alternativa INCORRETA.

  1. NO_DATA_FOUND: uma instrução SELECT INTO retornou mais de uma linha.
  2. STORAGE_ERROR: o módulo PL/SQL ficou sem memória ou a memória se corrompeu.
  3. TIMEOUT_ON_RESOURCE: o tempo-limite foi atingido, enquanto o banco de dados estava esperando um recurso.
  4. CASE_NOT_FOUND: nenhuma das cláusulas WHEN de uma instrução CASE foi selecionada e não há nenhuma cláusula ELSE padrão.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

A afirmação está incorreta porque confunde as condições que disparam exceções em PL/SQL. A exceção NO_DATA_FOUND é gerada quando uma instrução SELECT INTO **não retorna nenhuma linha**; ou seja, não há resultado para atribuir às variáveis destino.

Quando uma instrução SELECT INTO retorna mais de uma linha, o Oracle não dispara NO_DATA_FOUND, mas sim a exceção TOO_MANY_ROWS, indicando que a consulta produziu múltiplos registros quando se esperava exatamente um.

Exemplo simplificado: SELECT col INTO v_col FROM tabela WHERE cond;
— sem linhas → NO_DATA_FOUND; — mais de uma linha → TOO_MANY_ROWS. Tratamentos adequados no bloco EXCEPTION permitem capturar cada caso e tomar ações distintas.

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

Continue aprendendo