Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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.
>
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.
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));
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