[firebase-br] Interromper um insert

W O sistemas2000profesional em gmail.com
Sex Abr 25 13:46:06 -03 2014


Jackson, los triggers existen para ser usados. Si no fueran útiles, no
existirían.

Tengo cientos de clientes, usan cientos de bases de datos, la suma de todas
ellas debe ser de unos cuantos terabytes. Y en casi todas mis tablas uso
triggers BEFORE INSERT con excelentes resultados. Nunca encontré un
problema con los triggers.

¿Cuál problema podría tener?

Saludos.

Walter.



2014-04-25 10:13 GMT-04:00 jackson oliveira <jackmosp em gmail.com>:

> Não é comum fazer uso de alguns recursos existentes, quando se fala em
> processamento de dados; Isto, é uma prática (e boa prática) adotada, quando
> se alcança o nível expert em processamento de dados e esta sugestão, é
> exatamente para que se evite dores de cabeças futuras, conforme a
> volumetria do banco de dados for aumentando com o tempo.
>
> Mas, fiquem livres para utilizarem os recursos caso queira, isto somente é
> uma sugestão profissional.
>
>
> Em 25 de abril de 2014 11:08, W O <sistemas2000profesional em gmail.com
> >escreveu:
>
> > ¿Por qué no quieres usar triggers?
> >
> > Los triggers BEFORE INSERT se usan para validar los datos antes de
> > grabarlos. ¿Por qué no quieres usarlos?
> >
> > Saludos.
> >
> > Walter.
> >
> >
> >
> > 2014-04-25 10:02 GMT-04:00 jackson oliveira <jackmosp em gmail.com>:
> >
> > > Frederico, tudo bem ?
> > > Não utilize trigger não, pode dar mutação, ter os perigos de uma tabela
> > sua
> > > travar em processamento com DML... meu, se me permite, faça uma
> procedure
> > > parametrizada para INSERT, UPDATE E DELETE, e se for o caso, controle
> por
> > > commit e verique cada insert com um SELECT COUNT na tabela antes de um
> > novo
> > > insert ou update; Se desejar, entra no skype que lhe explico (
> jackmosp )
> > >
> > >
> > > Em 25 de abril de 2014 10:44, Frederico Godoi
> > > <frederico.godoi em gmail.com>escreveu:
> > >
> > > > Nesse caso é mais complexo.
> > > > A aplicação está mandando um novo Insert, não seria apenas uma
> > tentativa
> > > de
> > > > duplicar o registro? A chave primária não está repetindo?
> > > > Se não está repetindo a chave primária, não sei se a trigger vai
> > > > interromper o Insert.
> > > >
> > > >
> > > > 2014-04-25 10:40 GMT-03:00 Renan Rogowski Pozzo <
> renanrpozzo em gmail.com
> > >:
> > > >
> > > > > Bom dia Frederico,
> > > > > a questão é que não posso mudar a aplicação, que está mandando o
> > > comando
> > > > de
> > > > > INSERT. Teria que tratar no banco a entrada desse dado.
> > > > >
> > > > > Abraço,
> > > > > Renan Rogowski Pozzo
> > > > >
> > > > > *"Entrega o teu caminho ao Senhor; confia nele, e ele o fará."
> Salmos
> > > > 37:5*
> > > > >
> > > > >
> > > > > Em 25 de abril de 2014 10:36, Frederico Godoi
> > > > > <frederico.godoi em gmail.com>escreveu:
> > > > >
> > > > > > Não seria o caso de você fazer um UPDATE OR INSERT ?
> > > > > > Existe desde o Firebird 2.1.
> > > > > >
> > > > > > Frederico
> > > > > >
> > > > > >
> > > > > > 2014-04-25 10:31 GMT-03:00 Renan Rogowski Pozzo <
> > > renanrpozzo em gmail.com
> > > > >:
> > > > > >
> > > > > > > Bom dia,
> > > > > > > estou com uma situação e gostaria de uma dica.
> > > > > > >
> > > > > > > No momento de fazer um insert em uma tabela, no caso antes de
> > > fazer o
> > > > > > > insert, eu precisaria verificar se o registro que está sendo
> > > inserido
> > > > > já
> > > > > > > existe, e se existir não fazer o novo insert.
> > > > > > >
> > > > > > > Pensei em utilizar uma trigger de after insert.
> > > > > > > Nesse caso eu não poderia usar uma exceção, pois não quero que
> > > pare o
> > > > > > > processo ou apresente alguma mensagem. Apenas gostaria que se
> > > > > existisse o
> > > > > > > registro o novo não fosse inserido, mas prosseguisse.
> > > > > > >
> > > > > > > Alguma sugestão?
> > > > > > > Obrigado desde já.
> > > > > > >
> > > > > > > Abraço,
> > > > > > > Renan Rogowski Pozzo
> > > > > > >
> > > > > > > *"Entrega o teu caminho ao Senhor; confia nele, e ele o fará."
> > > Salmos
> > > > > > 37:5*
> > > > > > > ______________________________________________
> > > > > > > FireBase-BR (www.firebase.com.br) - Hospedado em
> > > www.locador.com.br
> > > > > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > > > > Para consultar mensagens antigas:
> > http://firebase.com.br/pesquisa
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Frederico Godoi
> > > > > > ______________________________________________
> > > > > > FireBase-BR (www.firebase.com.br) - Hospedado em
> > www.locador.com.br
> > > > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > > > Para consultar mensagens antigas:
> http://firebase.com.br/pesquisa
> > > > > >
> > > > > ______________________________________________
> > > > > FireBase-BR (www.firebase.com.br) - Hospedado em
> www.locador.com.br
> > > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Frederico Godoi
> > > > ______________________________________________
> > > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista