TRIGGER X STORANDE PRECEDORE - FIREBIRD

BADJECO 21/08/2015 11:36:07
#450314
Ola , fiz essa pergunta em outro topico , mas acho que aqui ela teria uma pouco mais de atenção . [Ô]encerro o antigo assim que lerem-o[Ô]

Eu tenho 3 tabelas , com informaçoes pertinentes a movimentaçao de um item
uma Tabela cita a Saidas, outra as Entradas , e uma terceira pode conter Tanto Saida quanto Entrada
pensei em fazer um select , ou ate mesmo um view delas , mas como nao ha relacionamento entre elas , o resultados me retornavam davos dulplicados
Assim pensei eu em fazer manualmente em uma tabela separada , toda vez que eu for inserir/editar um registro nessas tabelas , eu iria inserir tambem em uma Quarta Tabela
para que assim tivesse essas informaçoes agrupadas da forma que eu preciso ,Mas felizmente descobrir esses [txt-color=#e80000] Trigger [/txt-color] e
[txt-color=#e80000] Storande precedore [/txt-color]

Achei muita coisa pra Server , mas eu uso o Firebird , só nao estou sabendo executar muito bem o [txt-color=#e80000] Trigger [/txt-color] , acho que seria o melhor na minha opniao.

Qual seria o melhor ? [Ô]se ha[Ô]
E como posso proceder no caso do [txt-color=#e80000] Trigger [/txt-color] em Firebird.
F001E 25/08/2015 08:25:27
#450460
Tradução de Trigger => Gatilho, ou seja, é disparada logo após um INSERT, UPDATE ou DELETE, você escolhe quando ela vai executar.

veja esses link's

http://www.devmedia.com.br/explorando-triggers-no-firebird/31516
http://www.devmedia.com.br/desenvolvendo-triggers-em-sql-server-oracle-firebird-e-postgres/5625
http://www.firebirdsql.org/refdocs/langrefupd21-ddl-trigger.html
http://www.firebirdsql.org/refdocs/langrefupd15-create-trigger.html

....lembrando, Trigger é disparada pelo banco de dados e não pela sua aplicação....
RODRIGOFERRO 25/08/2015 10:01:41
#450465
Amigo bom dia, precisamos de mais alguns detalhes para entender sua logica e seu problema, para ajudarmos melhor.

  • Há uma necessidade real de separar essa movimentação em tres tabelas ?
  • Qual o problema de jogar em uma so tabela e setar um flag (0 = saida, 1 - Entrada) ?
  • Algum problema em postar a estrutura das suas tabelas para podermos entender melhor ?

    Abraços
  • MESTRE 25/08/2015 10:03:40
    #450466
    Só pra constar é STORED PROCEDURE e não [txt-color=#e80000]Storande precedore[/txt-color] ..

    Dê uma olhada acho que dá pra ajudar: http://www.linhadecodigo.com.br/artigo/3567/mysql-basico-triggers.aspx

    é mysql más acho que deve funcionar no FireBird.
    BADJECO 25/08/2015 15:14:48
    #450478
    Fala ai Amigos,
    Entao... ja resolvi aqui mas por efeito de tirar as duvidas

    P.: Há uma necessidade real de separar essa movimentação em tres tabelas ?
    R.: Sim , cada tabela tem informaçoes distintas uma nao tem nada a ver uma com a outra alem do codigo do produto, no caso essa tabela unificada vai agrupar essas infos como um log ,entende?.

    P.:Qual o problema de jogar em uma so tabela e setar um flag (0 = saida, 1 - Entrada) ?
    R.: Alem de serem saida e entrada, cada um tem um porque [Ô]um sub motivo[Ô]

    P.:Algum problema em postar a estrutura das suas tabelas para podermos entender melhor ?
    R.: Da sim , mas eu ja resolvi tudo começou na tentativa de uma view que unisse essas tabelas em uma só , mas o resultados vinham somados [Ô]e errados[Ô] coisas que eu nao queria

    Obrigado pela correção ortografica , mas como o google nao reclamou , eu passei pra frente tambem.

    Em resumo , eu fiz aqui com o trigger , sempre que uma dessas tabelas recebe um novo/edita/deleta um registro eu faço o mesmo com o registro nessa tabela unificada
    elas tem uma chave em comum.
    Essa tabela fica como um log das outras 3

    Ps.: Até onde vi , modéstia à parte , ficou show
    Ps2.: Alguma obs/dica sobre antes que eu encerre aqui ?
    RODRIGOFERRO 26/08/2015 00:50:11
    #450492
    Bom se ja esta tudo resolvido, ja criou a trigger e funcionou bem, por enquanto nada a acrescentar...
    Costumo sempre lembrar que na programação se há um trabalho a fazer, há diversas formas dele ser feito, se você achou a tua parabens...

    Bons códigos para você !
    Tópico encerrado , respostas não são mais permitidas