trigger

Discussão em 'Banco de Dados / Database' iniciado por felix, Dezembro 30, 2009.

  1. felix

    felix Membro Participativo

    Bom dia.

    Eu tenho uma tabela que controla varios tipos de documentos. Gostaria de saber se é possivel fazer uma trigger que controle o incremento de cada documento.

    exemplo tabela1.documento = "A" tem a sequencia atual = 10
    tabela1.documento = "B" tem a sequencia atual = 20
    tabela1.documento = "C" tem a sequencia atual = 5.

    Estou perguntando isso, porque hj este incremento é controlado pelo proprio programa, como isso, esta acontecendo de um usuario ficar travando outro.

    Agradeço a atenção de todos.

    []'s
  2. erickles

    erickles Membro Participativo

    Nas propriedades da tabela no Data dictionary, voce pode atribuir um programa no "create" da tabela.
  3. sl4v3r

    sl4v3r Membro Participativo

    Por que você não utiliza sequences ao invés de gravar em uma tabela?
  4. kirchner

    kirchner Membro Participativo Moderador

    O problema de usar sequencias é quando não há tipos fixos de documento. Se o usuários pode criar novos tipos de documento esta abordagem é ruim, porque necessita criar sequencias em tempo de execução.

    A abordagem da tabela não é tão ruim, mas você tem que gerar o número do documento fora da transação. Ou se precisar que seja transacional, gera no final da operação, imediatamente antes de concluir a transação.

    Desta forma você mantém os locks ativos por um tempo mínimo e não devera ter problemas.

    É muito comum os programadores progress acharem que locks são um problema. Na verdade eles só são problemas se você os mantiver ativos por tempo demais.

Compartilhe esta Página