|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : juillet 2004 Messages : 49 ![]() |
Bonjour à tous,
J'essai de créer une clé primaire composée avec une partie varchar et une partie compteur ... ex : ABB001 ABB002 ABC000 ABJ000 Parait il que c'est faisable avec Oracle mais sous Sql Server je n' arrive pas à faire que la sequence redemarre à chaque changement du varchar !? Merci d'avance. |
|
|
00
|
|
|
#2 |
![]() ![]() Alexandre ChemlaConsultant en Business Intelligence Inscription : février 2006 Messages : 1 773 ![]() |
Quel est l’intérêt de créer une colonne composée d'une combinaison de valeurs ?
Autant définir la clef primaire sur 2 colonnes dont ne sont pas concaténées.
__________________
Alexandre Chemla - Consultant MS BI chez Masao |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : juillet 2004 Messages : 49 ![]() |
Desole, je me suis peut etre mal exprimer ...
C'est ce que je cherche à faire, une clé composée de deux colonnes. Seulement je souhaite que la numerotation reparte de 0 à chaque changement de la chaine de caractere de la premiere colonne : 'AAA' + '000' 'AAA' + '001' 'BAB' + '000' Je sais pas si je suis plus compréhensible comme ca ^^ |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() |
A éviter! c'est une clef métier que vous créez.
Une PK en VARCHAR est également a proscrire... Faites une PK autoincrementée, stockez la partie VARCHAR comme vous dites dans une colonne... et gérez votre numérotation via une vue en vous basant sur une fonction de RANKING...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() ![]() Hamid MIRAIngénieur développement logiciels Inscription : septembre 2003 Messages : 177 ![]() |
Oui, comme cela a été dit par iberserk, il est plus “normal” et plus sûr d'utiliser une PK basée sur des champs en Autoincrement.
En revanche, si les 2 champs (chaine caractère et chaine représentent une numérotation) doivent représenter une clé unique (ce qui semble être le cas, puisque tu as déjà prévu de bâtir une clé primaire sur ces 2 champs), saches que l'attribution d'une clé applicatif (ou métier) unique est une opération très délicate et très subtile, notamment dans un contexte multi-utilisateurs avec des accès concurrents, et ce n'est pas uniquement avec une “vue basée sur les fonctions de ranking ..” que tu vas t’en sortir ! Il te faudra, dans tous les traitements qui seront chargés de l'attribution des clés unique (je parles de tes 2 champs clés uniques), être très fin avec les niveaux d'isolation des transactions. Sur ce point je te conseille de lire l’article de SQLPro qui traite du sujet et qui apporte une solution fiable : compteurs relatifs, avec SQL Server A+
__________________
"Une idée mal écrite est une idée fausse !" |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : juillet 2004 Messages : 49 ![]() |
Genial "hmira" c'est exactement ce que je recherchai ...
Merci de votre aide. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com