[firebase-br] Problema com numero de controle de documento

Julio F. Figueiredo tuskinhu em gmail.com
Qua Out 8 17:27:31 -03 2014


Cria um generator pra cada empresa via código sempre que incluir uma nova
empresa, esse max + 1, dependendo da concorrência pode detonar vc



________________________________________
Att,
*Julio F. Figueiredo*
*Analista de Sistemas*

Em 8 de outubro de 2014 16:55, Cyber Guido <cyberguido em gmail.com> escreveu:

> Defina um critério de unicidade e trate o erro quando houver duplicidade,
> ou crie uma tabela exclusiva para estes valores.´Se optar pelo último caso,
> os passo necessários, basicamente, são.
>
> Para exemplo tomemos um tabela com os campos Empresa, Controle, os mínimos
> necessários, e cada empresa deverá, obviamente, ter um e somente registro
> nesta tabela.
>
> Inicie uma transação dedicada para o processo de obtenção do controle, com
> retry em caso de conflito de update ou deadlock;
> Execute o comando Update <tabela> set Controle = Controle + 1 where
> Empresa = <Empresa>;
> Select Controle from Tabela Where Empresa = <Empresa>
>
> É basicamente isto.
>
> Cordialmente,
> Carlos
>
>
> ------ Original Message ------
> From: "Jean Alysson" <jeanpapa em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: 08/10/2014 14:55:44
> Subject: [firebase-br] Problema com numero de controle de documento
>
>  Olá, possuo uma tabela de contas a pagar onde preciso armazenar um numero
>> de controle que começa de 1 para cada empresa e incrementa a cada registro
>> inserido.
>>
>> Esse numero nao pode se repetir dentro da mesma empresa, nas outras sim.
>> Nao posso usar generator, pois eu teria q adicionar um novo a cada empresa
>> cadastrada, pensei em usar:
>> max(num_controle)+1 where ie_empresa = x
>>
>> mas se dois usuarios fizerem a mesma requisicao, posso ter o mesmo
>> num_controle, teria que fazer validacao antes de inserir, mas sera que nao
>> poderá cair no mesmo problema, se validar ao mesmo tempo ?
>>
>> Alguma sugestao ?
>>
>> ID (generator)
>> ie_empresa
>> num_controle
>> valor
>> .
>> .
>> . (outros campos)
>>
>>
>> Obrigado
>> Jean Alysson Ambrosio
>> ______________________________________________
>> 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