Reset Auto Increment en sql server chaque année

nkakim Messages postés 20 Date d'inscription jeudi 15 septembre 2005 Statut Membre Dernière intervention 16 janvier 2012 - 16 janv. 2012 à 16:41
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 16 janv. 2012 à 16:57
Bonjour à tous,
J'utilise vb.net et sql server 2000 comme base de donnée.
voici la structure de ma table

CREATE TABLE tablename(
id int identity not null,
libelle varchar(20)
)

j'aimerai que mon champ auto incrément,chaque debut d'année s'initialise à zero.
exemple:
2011
id Libelle
1 A
2 B
....
2012
id Libelle
1 C
2 D
...

Comment je peux procéder


Merci d'avance de votre aide

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
16 janv. 2012 à 16:57
Salut

Si ton champ est défini dans ta base de données comme auto incrémental, tu ne peux rien faire.
Je crois qu'il ne se remet à zéro que si la table est vide ET que tu pratiques une modif sur un champ.

Si tu veux gérer un indice que tu pourras remettre à zéro, il faudra le gérer toi même, comme un champ numérique classique, quitte à stocker dans une seconde table le dernier numéro utilisé afin de le relire avant l'incrémentation du prochain.
Dans ce cas, la clé primaire devra être composée de deux champs :
- ton champ numérique
- le champ qui affiche l'année

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0