Ir para conteúdo

Trigger com msg raiserror


Posts Recomendados


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  16
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  136
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  39

Boa tarde Pessoal,

Estou criando um trigger para bloquear o cadastro de um novo funcionário, quando esse já existir uma pessoa cadastrada em que o campo complementar da pessoa "RECONTRATA" é igual a "NAO", dando roolback na transação.

A trigger foi adicionada no banco, mas no momento de cadastrar o funcionário a mensagem que coloquei na trigger não aparece na tela, dando simplesmente um erro do tipo "Linha 0 Não existe".

Eu criei 3 trigger para INSERTED nas 3 tabelas no momento da inclusão do funcionário, senão dá erro de constraint.

Anexo segue as trigger que criei. Será que alguém pode me dar uma luz por favor:

 

Cadastro Pessoa.jpg

Script TRIGGER.txt

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

@emersontotvs por que não trata isso com FV ? Bem melhor, mais seguro, e utiliza melhores práticas,  já que, é recomendado a não utilização de triggers na base de dados. 

Basta criar uma FV gerando uma exceção e amarrando ela apenas na PFUNC mesmo. Você pode fazer uma consulta SQL com a leitura dessa condição e usar para o bloqueio.

 

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  16
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  136
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  39

8 horas atrás, Jair - Fórmula disse:

@emersontotvs por que não trata isso com FV ? Bem melhor, mais seguro, e utiliza melhores práticas,  já que, é recomendado a não utilização de triggers na base de dados. 

Basta criar uma FV gerando uma exceção e amarrando ela apenas na PFUNC mesmo. Você pode fazer uma consulta SQL com a leitura dessa condição e usar para o bloqueio.

 

Boa noite Jair,

Mas na fórmula visual eu consigo emitir uma mensagem em tela que eu desejar?

Att,

 

Emerson

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  119
  • Conteúdo/Dia:  0.05
  • Reputação:   41
  • Pontos/Conquistas:  811
  • Conteúdo Resolvido:  0
  • Dias Ganho:  20
  • Status:  Offline
  • Idade:  26
  • Dispositivo:  Windows

13 horas atrás, emersontotvs disse:

Boa noite Jair,

Mas na fórmula visual eu consigo emitir uma mensagem em tela que eu desejar?

Att,

 

Emerson

Bom dia @emersontotvs


Você pode utilizar a atividade Gerar Exceção para exibir uma mensagem em tela, e também pode personalizar a mensagem utilizando uma expressão e depois passando para essa atividade.

 

Editado por caiiomonteiro
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  470
  • Conteúdo/Dia:  0.21
  • Reputação:   132
  • Pontos/Conquistas:  3.143
  • Conteúdo Resolvido:  0
  • Dias Ganho:  63
  • Status:  Offline
  • Idade:  35
  • Dispositivo:  Windows

Boa tarde @emersontotvs, segue em anexo!

 

 

RESPOSTA.txt

Editado por luisgustavogomes
Erro
  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  16
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  136
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  39

6 horas atrás, caiiomonteiro disse:

Bom dia @emersontotvs


Você pode utilizar a atividade Gerar Exceção para exibir uma mensagem em tela, e também pode personalizar a mensagem utilizando uma expressão e depois passando para essa atividade.

 

Entendi,

 

Vou fazer um teste @Jair - Fórmula Obrigado pela dica

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  16
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  136
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  39

51 minutos atrás, luisgustavogomes disse:

Boa tarde @emersontotvs, segue em anexo!

 

 

RESPOSTA.txt 2 Kbytes · 0 downloads

Valeu @luisgustavogomes

Vou testar essa trigger ai. Depois testo a FV e vejo o que ficou mais viável.

 

Agradeço o apoio

  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  16
  • Conteúdo/Dia:  0.01
  • Reputação:   3
  • Pontos/Conquistas:  136
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  39

2 horas atrás, luisgustavogomes disse:

Boa tarde @emersontotvs, segue em anexo!

 

 

RESPOSTA.txt 2 Kbytes · 2 downloads

@luisgustavogomes testei a TRIGGER, funcionou perfeitamente.

Muito obrigado pela ajuda. Acho que irei utilizar via trigger mesmo, tenho um pouco de dificuldade com a FV.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  5
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  470
  • Conteúdo/Dia:  0.21
  • Reputação:   132
  • Pontos/Conquistas:  3.143
  • Conteúdo Resolvido:  0
  • Dias Ganho:  63
  • Status:  Offline
  • Idade:  35
  • Dispositivo:  Windows

Ok, mas quando der um tempo, testa via FV pois é uma solução poderosa para questões da aplicação.

 

Abraços 

  • Like 2
Link para comentar
Compartilhar em outros sites

  • 2 semanas depois...

  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

Em 11/10/2021 at 14:41, emersontotvs disse:

Entendi,

 

Vou fazer um teste @Jair - Fórmula Obrigado pela dica

opa, não por isso. Tranquilo. E obrigado ao @luisgustavogomes que tanto tem participado e ajudado a todos por aqui também!! 😄  

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

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

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.