Bom Dickson, você me perguntou anteriormente sobre: *Uma questão importante... essa sua numeração de selos pode haver falhas??? Se não tiver problemas que vc tenha numerações desse tipo: 1, 2, 4, 7, 9, 10, 11, 15... então vc pode usar sequences [1]*
A sequense garante um nº único. Mas infelizmente não dá pra usar a sequense, seria algo como isso, mas não é um "incremento", o nº de selo se repete todas as vezes que adquiro uma nova remessa de uma determinada categoria, a cada remessa inicia de zero. Não é algo como "eu" gere o próximo número, mas sim eu cadastro esta numeração na base de dados. É algo mais ou menos como o Marcelo me enviou em anexo, uma function que busca o selo e já o atualiza para situação 3, que deve ser como utilizado. Assim como o Marcelo utiliza, eu imaginei em fazer antes de postar na lista. Mas a minha dúvida é que se eu utilizar a function, e passar todos os meus parâmetros para que ela faça todos os inserts e atualizações necessárias, mesmo assim, não vai haver o problema de concorrência? O meu problema é somente que 2 ou mais usuários de sessões diferentes não utilizem um mesmo número, porque ai, o primeiro que conseguir utilizar o nº (Inserts, updates) tudo certo, mas o segundo obterá um erro de violação de chaves únicas/primárias no momento dos inserts e updates. 2013/5/7 Dickson S. Guedes <[email protected]> > Em Ter, 2013-05-07 às 13:39 -0300, eu escrevi: > > Você conseguiria exercitar em sua aplicação o uso de sequences e obter > > este valor usando algo como: nexval('nome_sequence') - 1 ? > > > Oops o correto seria : nextval > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
