← Questões de Banco de Dados

Banco de Dados · FGV · 2025

Questão comentada de Banco de Dados

Na linguagem PL/SQL, a seção de tratamento de exceções permite que os programadores especifiquem quais ações devem ser tomadas quando uma determinada exceção ocorre. Nesse contexto, a seguinte exceção é gerada quando um código PL/SQL tenta armazenar um valor duplicado em uma coluna que possui um índice exclusivo definido:

Gabarito: B

Em PL/SQL, as exceções servem para tratar erros que aparecem durante a execução do bloco, evitando que o programa simplesmente pare sem controle. Quando ocorre uma situação prevista pelo Oracle, você pode capturar a exceção no bloco EXCEPTION e decidir o que fazer, como registrar o erro, avisar o usuário ou tentar outra ação. Nesta questão, o ponto-chave é a violação de índice exclusivo, isto é, tentar gravar um valor que já existe em uma coluna que não admite repetição. O Oracle dispara a exceção predefinida DUP_VALUE_ON_INDEX para esse cenário. Em outras palavras: se o índice é exclusivo, o banco não gosta de cópias, e ele avisa isso na hora. As exceções predefinidas em PL/SQL são nomes já conhecidos pelo sistema, como NO_DATA_FOUND e TOO_MANY_ROWS. Cada uma corresponde a uma situação específica. A doutrina de Oracle PL/SQL trata DUP_VALUE_ON_INDEX justamente como a exceção associada à tentativa de inserir valor duplicado em índice único ou exclusivo. Por isso, o gabarito é a letra B. Ela descreve exatamente o erro gerado quando há tentativa de armazenar valor duplicado em coluna com índice exclusivo.

Continue treinando

Questões relacionadas