Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — IV - UFG 2024

Banco de DadosPL-SQL
Código
qg269937
Banca
IV - UFG
Órgão
Prefeitura de Rio Branco - AC
Ano
2024
Nível
Superior
Cargo
Analista de Suporte - Especialização em Banco de Dados
Um desenvolvedor precisa criar um bloco PL/SQL que insere novos registros em uma tabela Clientes, que inclui as colunas ClienteID, Nome, Email e DataCadastro. Caso um registro com o mesmo Email já exista, uma exceção customizada deve ser levantada, indicando que o e-mail já está em uso.Imagem associada para resolução da questãoConsiderando esses requisitos, qual dos seguintes blocos PL/SQL atende melhor à necessidade?
  1. AUtiliza a exceção DUP_VAL_ON_INDEX para capturar a tentativa de inserção de um e-mail duplicado, lançando e_email_em_uso com uma mensagem customizada.
  2. BCria um trigger BEFORE INSERT na tabela Clientes para verificar a existência do e-mail e, em caso positivo, levanta a exceção e_email_em_uso.
  3. CImplementa uma consulta SELECT antes do INSERT para verificar a existência do e-mail. Se encontrado, levanta a exceção e_email_em_uso usando RAISE_APPLICATION_ERROR.
  4. DEmprega um bloco BEGIN ... END sem tratamento de exceção, assumindo que a restrição de unicidade no banco de dados previne a inserção de e-mails duplicados automaticamente.
Revelar gabarito e comentário

GabaritoA — Utiliza a exceção DUP_VAL_ON_INDEX para capturar a tentativa de inserção de um e-mail duplicado, lançando e_email_em_uso com uma mensagem customizada.

Link permanente: /questoes/qg269937