Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
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/12/2010, 04h21   #1
Membre actif
 
Inscription : décembre 2007
Messages : 517
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 517
Points : 158
Points : 158
Par défaut Définir champ numéro auto?

Bonjour,

j'utilise Sql Server Standard et Enterprise Manager V8.0 . J'aimerai savoir comment faire pour définir un champ de numérotation automatique avec Enterprise Manager s'il vous plaît.

Merci d'avance pour votre aide.

Cordialement.
js8bleu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 11h04   #2
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 138
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 138
Points : 2 466
Points : 2 466
Envoyer un message via Yahoo à zinzineti
Tu travailles donc avec SQL SERVER 2000

Procédure pour définir une colonne comme IDENTITY (auto-incrément) :

Dans Entreprise Manager

1) clique droit sur la table concernée

2) clique sur "Modifier la table"

3) Selectionne la ligne concernée (la colonne à modifier, cette colonne doit être du type entier)

4) dans la fenêtre en bas, sélectionner la valeur "Oui" pour Compteur

5) régler le pas de l'incrément et la valeur de début

6) Valider
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 21h27   #3
Membre actif
 
Inscription : décembre 2007
Messages : 517
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 517
Points : 158
Points : 158
Bonjour et Merci zinzineti pour ton aide. J'ai suivi ta procédure et tout semble correcte, à part qu'en fait je veux faire un insert à partir d'un select provenant de plusieurs tables. Il m'affiche une erreur comme quoi il y a moins de champs dans la seconde table (ce qui est normal puisqu'il n'existe pas là bas). Voici comment j'ai procédé :

Code :
1
2
3
4
5
6
SET IDENTITY_INSERT impdossier ON
 
INSERT INTO timpdossier(champauto,iddossier,numdossier,datedossier)
SELECT VD.iddossier AS IDdossier, D.numdossier AS NumDossier, D.datedossier AS DateDossier
 
SET IDENTITY_INSERT impdossier OFF
Merci d'avance pour la très précieuse aide et BONNE ANNEE.

Cordialement.
js8bleu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2011, 09h45   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
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 950
Points : 17 766
Points : 17 766
Le B A BA de SQL veut que vous mettiez autant de colonne que de valeur dans les listes de l'INSERT ! C'est d'ailleurs le sens du message d'erreur.

Pourquoi donc faire figurer la colonne auto incrémentée ???????

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 02/01/2011, 00h13   #5
Membre actif
 
Inscription : décembre 2007
Messages : 517
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 517
Points : 158
Points : 158
Bonne Année 2011 à tous. Merci SQLPro pour la remarque. Je le sais déjà mais j'utilisais Access 2003 et ça se faisait sans que je ne précise même la colonne incrémentée. C'est-à dire en faisant :
Code :
1
2
3
 
INSERT INTO tableimpdossier
SELECT tablevaldossier (iddossier,numdossier,datedossier)
même s'il s'avérait qu'en réalité voici la structure de mes tables :

tableimpdossier
numimpdossier(numeroauto)
iddossier
numdossier
datedossier
numpatient
=>5 champs

tablevaldossier

iddossier
numdossier
datedossier
numpatient
=>4 champs

Voulant évoluer vers un meilleur SGBD en l'occurence SQL Server cette même logique que j'utilisais avec Access ne marche plus puisque le champ numéroauto n'existe plus dans SQL Server. Voici pourquoi néophyte que je suis, je vous prie de bien vouloir m'aider si possible s'il vous plaît. Selon vous, y a-t-il un moyen de faire comment je faisais dans Access s'il vous plaît? Sinon, quelle solution me proposez-vous s'il vous plaît?

Merci d'avance.

Cordialement.
js8bleu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2011, 06h24   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
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 950
Points : 17 766
Points : 17 766
Au passage dans une base de données il n'y a pas de champs !!!! A lire :

Par exemple :

Code :
1
2
3
4
INSERT INTO timpdossier 
       (   iddossier,    numdossier,   datedossier)
SELECT  VD.iddossierr, D.numdossier, D.datedossier
FROM   ...

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 03/01/2011, 23h15   #7
Membre actif
 
Inscription : décembre 2007
Messages : 517
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 517
Points : 158
Points : 158
Merci SQLpro et zinzineti pour votre aide. Mon problème est résolu en enlevant numimpdossier de ma requête (comme me l'a suggéré SQLpro):
Code :
1
2
3
 
INSERT INTO tableimpdossier (iddossier,numdossier,datedossier)
SELECT tablevaldossier (iddossier,numdossier,datedossier)
Merci encore.

Cordialement.
js8bleu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h57.


 
 
 
 
Partenaires

Hébergement Web