Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1355 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  autoincrementation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

autoincrementation

n°1571614
Masst
Posté le 07-06-2007 à 15:42:33  profilanswer
 

Bonjour à tous
 
Voila j'ai une table avec un numero d'affaire en auto_incremet dans dans la table il m'affiche :
1
2
3
4
Mais est il possible de donner un autre forme au 1, 2 , 3 comme par exemple :
2007/001
2007/002
2007/003
 
Voila je vous remercie d'avance

mood
Publicité
Posté le 07-06-2007 à 15:42:33  profilanswer
 

n°1571626
flo850
moi je
Posté le 07-06-2007 à 15:53:39  profilanswer
 

non, les autot increment sont des entiers  
 
a toi de perosnnaliser lros de l'affichage

n°1572034
cgo2
Dum spiro spero
Posté le 08-06-2007 à 10:38:42  profilanswer
 

Tu fais 2 colonnes, une "année" et une "id" (en auto_increment), avec une pk sur le couple "année", "id". Et si tu as MySQL, à priori tu peux réinitialiser l'autoincrement tous les ans avec un ALTER TABLE latable AUTO_INCREMENT=0 (je sais pas si c'est une bonne idée, j'ai jamais testé)


---------------
When it's from Finland it's good.  - Mon blog
n°1573085
MagicBuzz
Posté le 11-06-2007 à 11:01:03  profilanswer
 

le mieux c'est de passer par une séquence et allimenter l'id par un trigger qui va taper dans la séquence et faire la mise en forme.
seul truc, les séquences ne sont pas supportées sur tous les sgbd...
 
tu vas donc travailler avec une table "compteur" qui va être incrémentée par le trigger en question...
 
create trigger tbl_ins  
on tbl
instead of insert
as
begin
  declare @cpt numeric;
  declare @year char(4);
  select @cpt = cpt + 1, @year = year from cpttbl with (rowlock) where year = year(getdate());
  update cpttbl set cpt = @cpt where year = @year;
  insert into tbl (id, field1, field2, etc.) values (year + '/' + right('000' + cast(@cpt as varchar(3)), 3), inserted.field1, inserted.field2, inserted.etc.);
end;
 
(en gros)


Message édité par MagicBuzz le 11-06-2007 à 11:03:34

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  autoincrementation

 

Sujets relatifs
Plus de sujets relatifs à : autoincrementation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR