Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fagner Dos Santos

Zerar numeração na virada do ano

Recommended Posts

Alguém tem alguma solução para zerar a autonumeração automaticamente com a virada do ano.

Tenho um sistema de ofícios de escritório e a numeração dos mesmos se dá por autonumeração mas com a virada do ano tenho que salvar a tabela antiga e criar uma nova para o ano seguinte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um If normal, que atingindo determinada numeração você inicio do zero e os numeros anteriores você salva em uma tabela com o numero do ano, tipo 2011

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria um script agendnado no servidor com periodicidade anual(todo dia primeiro de janeiro as 00:00hs) e nele conteria os procedimentos necessarios. Isto vai muito da regra de negocios, se você tem uma tabela para cada ano no script terá que ter no minimo alteração de senha do banco (enquanto o script é executado), criar um backup da tabela do ano anterior, truncar a tabela principal e reativar a senha original do banco. Dependendo do banco é mais vantagem dropar a tabela e recria-la.

 

Se o volume de dados não é muito grande e/ou a base de dados está consistente e bem estruturada, recomendo deixar tudo na mesma tabela e ter uma coluna que seja autoincremento, uma com a numeração e outra com o ano. Para fazer o controle do numero 1 para cada ano que inicia eu faria uma trigger ou procedure no banco para verificar a cada insert se anumeração deve ser reiniciada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um If normal, que atingindo determinada numeração você inicio do zero e os numeros anteriores você salva em uma tabela com o numero do ano, tipo 2011

 

Beleza xanburzum, eu tinha pensado dessa forma mesmo, e acho que é a melhor solução, pra nao ficar tendo que entrar em administração todo final de ano em todas as aplicações dos clientes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilize tipo uma tabela intermediária para salvar os dados de anos anteriores, você até consegue criar uma tabela direto pelo SQL, atraves do CREATE TABLE ,dae você dá um INSERT na tabela com os dados que quiser

 

CREATE TABLE tbl2011
(codprofessor INTEGER CONSTRAINT primarykey PRIMARY KEY,
nome TEXT (50),
endereco TEXT (50)
telefone TEXT (15),
nascimento DATE,
sexo TEXT (1),
ativo BIT,
observacao TEXT (100));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.