Jump to content

Criar numero de Serie em Documento


pacheco784

Recommended Posts

Olá pessoal, estou a desenvolver um Programa para Processamento de Vecimentos, e preciso que sempre que for gerado um Vencimento novo ele incremente um numero a Serie, ou seja o Recibo de Vencimento começara com a Serie Nº0001, quando for registado o proximo vencimento o numero ja tera que ser Nº0002 e por ai fora, da para fazer isso?

Cumpt

Link to comment
Share on other sites

Índice de uma tabela numa base de dados com autoincrement parece a escolha óbvia.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Viva,

Eu não usaria autoincrement para a numeração de documentos porque existem vários motivos pelos quais o "contador" pode saltar, exemplos:

1) https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity;

2) http://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is

3) Se der um erro durante o INSERT, o valor é do SEED é incrementado na mesma;

Uma hipótese seria utilizando SEQUENCE, mas mesmo assim, eu faria de outra forma:

Ou lendo o valor maior valor da tabela ou usando uma tabela apenas para guardar o último contador (aqui poderias bloquear o acesso à tabela)

Executava dentro de uma stored procedure utilizando uma transação. O campo onde é guardado o número de série teria de ser único.

No final atualizava o contador da tabela adicional.

Parece-me ser um mecanismo que te garante a integridade que precisas.

Espero ter ajudado,

Edited by Rechousa

Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.