Auto incrementation SQL Server

Résolu/Fermé
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 - 2 janv. 2011 à 00:15
 fati - 12 janv. 2016 à 10:44
Bonjour,

j'ai des problèmes pour utiliser le champ numimpdossier de la table tableimpdossier comme autoincrement. Pour le besoin d'impression, j'ai créé une table tableimpdossier dans laquelle je transfert les données à imprimer à partir de la table tablevaldossier. Pour ce faire voici la structure de mes tables

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

tablevaldossier
iddossier
numdossier
datedossier
numpatient
=>4 champs

et mes requêtes

SET IDENTITY_INSERT tableimpdossier ON;

INSERT INTO tableimpdossier (numimpdossier,iddossier,numdossier,datedossier)
SELECT tablevaldossier (iddossier,numdossier,datedossier)

SET IDENTITY_INSERT tableimpdossier OFF;




Mais ça ne marche pas car il me dit que le nombre de champs de tablevaldossier est inférieur à celui de tableimpdossier.

Pouvez-vous m'aider s'il vous plaît?

Merci d'avance et Bonne Année 2011.

Cordialement.



A voir également:

4 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
2 janv. 2011 à 19:09
C'est normal : tu veux remplir 4 champs en indiquant 3 champs, le serveur ne sait pas quoi faire du 4e champ.

Retire "numimpdossier" de la liste, le serveur en déduiera qu'il faut l'incrémenter et ça passera.

2
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
3 janv. 2011 à 00:11
SET IDENTITY_INSERT semble servir à "forcer" une insertion (notamment pour insérer un enregistrement avec un ID à X quand ID est un auto_increment actuellement à Y).

Retire ces deux instructions, ne garde que l'INSERT INTO / SELECT, ça devrait être bon.

1
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
2 janv. 2011 à 23:52
Bonne Année 2011, bonjour et Merci HostOfSeraphim pour ton aide. J'ai retiré numimpdossier et lorsque j'ai exécuté la requête il m'a affiché l'erreur suivante :

Une valeur explicite doit être spécifiée dans la colonne identité de la table 'TImpDossier' quand IDENTITY_INSERT est défini à ON.


Sais-tu comment puis-je faire pour régler le problème s'il te plaît?

Je sens que je ne suis pas loin de la libération.

Merci d'avance.

Cordialement.
0
js8bleu Messages postés 576 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 27 janvier 2014 4
3 janv. 2011 à 01:11
Yessssssssssssssss! C'est trop cool ça marche parfaitement. Merci beaucoup et prends bien soin de toi.

Cordialement.
0
Bonjour,

J'ai le même problème,
Comment avez-vous résolu cette erreur?

Merci
0