← Questões de Banco de Dados

Banco de Dados · CONSULPLAN · 2021

Questão comentada de Banco de Dados

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.

Gabarito: A

Em PL/SQL, excecoes sao o jeito de tratar situacoes anormais sem deixar o programa “quebrar” de forma desorganizada. Algumas sao predefinidas pela Oracle e voce costuma ver isso bastante em prova: NO_DATA_FOUND, TOO_MANY_ROWS, STORAGE_ERROR, TIMEOUT_ON_RESOURCE, CASE_NOT_FOUND, entre outras. Cada uma aponta para um tipo bem especifico de problema em tempo de execucao. A ideia central aqui e simples: a excecao precisa ser associada ao evento correto. Se um SELECT INTO nao encontra linha, a excecao tipica e NO_DATA_FOUND. Se a consulta retorna mais de uma linha, a excecao correta e TOO_MANY_ROWS. A banca trocou esses conceitos na alternativa A, e foi ai que a questao “armou a casca de banana”. As outras alternativas estao coerentes com as definicoes padrao do PL/SQL: STORAGE_ERROR indica falta de memoria ou corrupcao de memoria; TIMEOUT_ON_RESOURCE ocorre quando o tempo limite expira esperando um recurso; e CASE_NOT_FOUND aparece quando nenhum WHEN de um CASE foi atendido e nao existe ELSE. Ou seja, o erro da letra A esta em atribuir a NO_DATA_FOUND um resultado de “mais de uma linha”, quando na verdade isso descreve TOO_MANY_ROWS. Em prova de Oracle, decorar esse par costuma salvar alguns pontos preciosos.

Continue treinando

Questões relacionadas