Analista Administrativo - Tecnologia da Informação, com especialidade em 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:
AVALUE_ERROR
BDUP_VALUE_ON_INDEX
CNO_DATA_FOUND
DTOO_MANY_ROWS
EDUPLICATED_INDEX
Revelar gabarito e comentário▾
GabaritoB — DUP_VALUE_ON_INDEX
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Exceções predefinidas do PL/SQL: DUP_VALUE_ON_INDEX
Gabarito: letra B. A exceção que ocorre ao tentar inserir um valor duplicado em uma coluna com índice exclusivo (único) é a DUP_VALUE_ON_INDEX. Essa é uma exceção predefinida do PL/SQL do Oracle, que é automaticamente lançada quando uma violação de restrição de chave única é detectada. As demais alternativas correspondem a outras situações de erro.
Alternativa A — ❌ Incorreta
VALUE_ERROR é gerada quando ocorre um erro de valor, como truncamento ou conversão inválida (ex.: atribuir um número muito grande a uma variável). Não se aplica a duplicidade de índice.
Alternativa B — ✅ Correta ⟵ GABARITO
DUP_VALUE_ON_INDEX é a exceção específica para violação de restrição de unicidade (índice único). É a escolha correta.
Alternativa C — ❌ Incorreta
NO_DATA_FOUND é lançada quando uma consulta SELECT INTO não retorna nenhuma linha. Não tem relação com duplicidade.
Alternativa D — ❌ Incorreta
TOO_MANY_ROWS ocorre quando um SELECT INTO retorna mais de uma linha. Também não se aplica.
Alternativa E — ❌ Incorreta
DUPLICATED_INDEX não é uma exceção predefinida no PL/SQL. O nome correto é DUP_VALUE_ON_INDEX.
PEGA ESSA DICA!
Memorize as exceções predefinidas mais comuns do PL/SQL. Uma tabela ajuda:
Exceção
SQLCODE
Situação
DUP_VAL_ON_INDEX
-00001
Tentativa de inserir valor duplicado em índice único