Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2011, 11h06   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Par défaut Identifiant table sql server

Bonjour,
Je galère depuis quelques jours concernant des identifiants de lignes sur SQL server.

Sur cette partie de ma base j'ai 2 tables :
- une table concernant des dossiers
- une table concernant des lignes de commandes associées à ces dossiers contenant en clé étrangère id_dossier

Je cherche à faire la chose suivante sans succès dans ma table des lignes :
id_dossier # id_ligne article
1 10.000 crayon bleu
1 20.000 crayon rouge
2 10.000 crayon bleu

Le but étant pour chaque numéro de dossier, que le numéro de ligne commence a 10.000 et s'incrémente automatiquement de 10.000 pour chaque nouvelle ligne mais il ne doit pas être unique, c'est la combinaison id_dossier + id_ligne qui doit l'être. L'id ligne doit repartir a 10.000 pour chaque première ligne d'un nouveau dossier.

Avez-vous une solution ? j'imagine que ce n'est pas très compliqué mais je ne trouve aucun cas similaire malgré plusieurs heures de recherche sur Google...

Merci par avance
xspy43 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 13h00   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Cela ne vous sers que pour l'affichage si je ne m'abuse?

Si tel est le cas inutile de le stocker dans une colonne, créez une vue qui vous fera ce 'calcul' car c'est bien un calcul dont il s'agit.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 14h16   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Merci pour votre commentaire,

Cela me sert comme identifiant de ligne en réalité pour injection dans l'ERP qui a besoin de numeros de ligne en 10.000. Le seul souci est qu'il faut impérativement que chaque ligne de commande pour toute nouvelle commande recommence bien a 10.000.

En fait la ligne est identifiée par son numero de commande et son numero de ligne en 10.000

Une idée ?
xspy43 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 14h19   #4
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Une idée
Alimentez cette colonne via un trigger lors de l'INSERT...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 14h35   #5
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Non, ibersek pas bonne idée. Utilisez une table de compteur et une proc pour ce faire comme je l'ais dit ici :
http://sqlpro.developpez.com/cours/clefs/

En faisant des compteurs relatifs...

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 16h08   #6
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Non, ibersek pas bonne idée. Utilisez une table de compteur et une proc pour ce faire comme je l'ais dit ici :
Cela n'est t'il pas incompatible avec ceci?:
Citation:
pour chaque nouvelle ligne mais il ne doit pas être unique
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 16h12   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Le doute m'habite

Confirmez vous que c'est ce fonctionnement que vous voulez:
Premiere ligne d'un dossier: id=10000
Deuxième ligne d'un dossier: id=20000
Troisième ligne d'un dossier: id=30000
etc...

Si c'est le cas inutile de stocker cette information... sauf si vous pouvez supprimer des lignes vous pouvez les récuperer à la volée via un simple requète.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h23.


 
 
 
 
Partenaires

Hébergement Web