Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 31/10/2011, 08h09   #1
Invité régulier
 
Femme lydia ENACTA
Développeur informatique
Inscription : juillet 2011
Messages : 28
Détails du profil
Informations personnelles :
Nom : Femme lydia ENACTA
Localisation : Algérie

Informations professionnelles :
Activité : Développeur informatique
Secteur : Transports

Informations forums :
Inscription : juillet 2011
Messages : 28
Points : 6
Points : 6
Par défaut généré une sequence

bonjour,

je suis entrain de développer une application et j'ai une partie gestion de carburant qui gère les carnets de carburants.donc le carnet de carburant contient 25 bons .mon problème c'est que je veux généré ces bons automatiquement en précisant le début de la séquence et la fin de la séquence.

mes connaissances sont limité en sql serveur.

Que dois je faire

Merci
enacta est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 31/10/2011, 14h19   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
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 959
Points : 17 791
Points : 17 791
Vous pouvez utiliser l'auto incrément IDENTITY en commençant à 1 avec un pas de 1 et avec un trigger INSERT, repasser à 1 si la valeur du compteur atteint 25.

mais le plus simple est a mon avis d'utiliser une mécanisme d'auto incrément manuel comme je l'indique ici : http://sqlpro.developpez.com/cours/clefs/

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 10
Vieux 01/11/2011, 15h50   #3
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 670
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 670
Points : 8 732
Points : 8 732
Bonjour,

Je valide totalement la solution de SQLPro, qui est à mon goût plus simple à mettre en place et très rapide si l'on a besoin de générer une séquence pour de nombreuses transactions.

Juste un petit tuyau : dans l'instruction suivante, extraite de l'article de SQLPro :

Code :
1
2
3
UPDATE LesClefs
SET ValeurClefs = ValeurClefs + 1
WHERE NomTable = 'MaTable'
On peut aller un peu plus loin en écrivant :

Code :
1
2
3
UPDATE LesClefs
SET @ValeurClef = ValeurClefs = ValeurClefs + 1
WHERE NomTable = 'MaTable'
Ce qui permet d'affecter la nouvelle valeur à la variable @ValeurClef, sans avoir à faire le SELECT qui suit

Ceci dans l'attente de SEQUENCE dans SQL Server 2012 !!!

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket 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 10h04.


 
 
 
 
Partenaires

Hébergement Web