Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas com o RAISE EXCEPTION


Henrique.

Pergunta

Bom dia.

Estou fazendo um trabalho da faculdade e nele tenho uma função para validar o login e senha,
nessa função após três tentativas de login erradas deve ser bloqueado o usuário.

A função funciona quase perfeitamente, porém, quando o usuário digita a senha errada eu faço um UPDATE no seu registro para somar 1 ao número de tentativas e após isso uso o comando

RAISE EXCEPTION 'Senha Incorreta!'

para apresentar a mensagem de erro.

O problema é que com o RAISE EXCEPTION é feito um ROLLBACK e não grava o UPDATE na tabela assim apresenta mensagem mas o contador das tentativas permanece sempre o mesmo, já tentei usar o RAISE NOTICE mas ele só apresenta a mensagem se ocorrer algum erro.

Alguém sabe como posso fazer para atualizar o campo das tentativas na tabela e apresentar a mensagem de senha incorreta?

Obrigado

Editado por Henrique.
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Para quem é destinada a mensagem? Se for para o usuário o tratamento deve ser feito na camada de apresentação e não tem nada a ver com o banco de dados.

Para não levantar uma exceção não use EXCEPTION. Use um dos outros níveis DEBUG, LOG, INFO, NOTICE, WARNING. Me parece que você quer INFO ou NOTICE.

RAISE INFO 'Senha Incorreta!'

http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html

O RAISE como você percebeu só vai ser executado em caso de erro. O mensagem de erro pode ir apenas para o log, apenas para o cliente, para nenhum ou para ambos dependendo da configuração no arquivo postgresql.conf

Editado por Kakao
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...