Chave primária anual

Bom dia a todos,

Pessoal, eu preciso fazer um numerador de tal forma que zerasse todo ano. Eu teria que ter duas chaves primárias? Como seria? Agradeço.

você guarda a data em algum lugar?

Crie uma trigger, se o ano da data corrente for diferente do ano da data registrada limpe a coluna.

Vou tentar…

Obrigado, mais uma vez, Haroldo…

Abraços

crie uma tabela auxiliar com a data a numeração e o usuario que inseriu.
insira os registros de forma que verifique se ja existe algum para aquele ano,
caso exista incremente 1, casao nao exista inicie a numeração no numero desejado.

jcesarml, não conheço sua estrutura.

Mais eu concelho você deixar a chave primaria com auto incremento e não mexer nela… pois a mesma pode ser usada para fazer ligações entre tabelas e tal…

Se eu foce vc, eu acrescentava 2 campos na tabela, somente para atender a auto numeração que vc precisa.

Ex.

Campo (Ano) - inteiro
Campo (Numero) - inteiro

Suponhamos que você vai inserir um registro nesse ano e quer seguir a numeração desse ano.

No evento - onBeforeInsert

//pegando próximo numero
sc_lookup(proximo_num, “select max(numero) + 1 as proximo_numero from tabela where ano = ‘2012’” );

{numero} = {proximo_num[0][0]};

Espero ter ajudado

T+

Bom, se vc quiser simplesmente numerar pegando como referencia a data do lançamento, pode seguir a ideia do Haroldo que é boa…

Somente Acrescenta o (Numero) - inteiro

Ex.

No evento - onBeforeInsert

//Pega o ano da data do lançamento
$ano substr({data_lancamento}, 0, 4);

//pegando próximo numero
sc_lookup(proximo_num, “select max(numero) + 1 as proximo_numero from tabela where YEAR(data_lancamento) = ‘$ano’” );

{numero} = {proximo_num[0][0]};

T+