OVH Cloud OVH Cloud

Insertion automatique clé primaire ?

3 réponses
Avatar
yohan
Bonjour,

je d=E9bute sous msde, et voudrait ins=E9rer des lignes dans=20
une table dont la cl=E9 primaire est le champs 'ID' de type=20
entier.

Je voulais savoir si sql serveur ( enfin msde donc) etait=20
capable de g=E9rer tout seul l'incr=E9mentation de la cl=E9=20
primaire, du champs ID donc, losrque je fais une=20
insertion ?

Ou suis-je oblig=E9 de cr=E9er une fonction qui cherche dans=20
ma table un ID de libre, puis passe l'ID trouv=E9 dans une=20
requete d'insertion ?

Merci d'avance !

3 réponses

Avatar
Synopsis
Remarque :

Après une insertion, il est interessant de récupérer
la valeur de l'ID attribué par le serveur.

Juste après l'instruction INSERT tu récupéres la valeur avec @@IDENTITY

INSERT INTO MyTAble VALUES( , , , )
SELECT @MyID = @@IDENTITY




"yohan" a écrit dans le message de
news:0fd601c54190$66437480$
Bonjour,

je débute sous msde, et voudrait insérer des lignes dans
une table dont la clé primaire est le champs 'ID' de type
entier.

Je voulais savoir si sql serveur ( enfin msde donc) etait
capable de gérer tout seul l'incrémentation de la clé
primaire, du champs ID donc, losrque je fais une
insertion ?

Ou suis-je obligé de créer une fonction qui cherche dans
ma table un ID de libre, puis passe l'ID trouvé dans une
requete d'insertion ?

Merci d'avance !
Avatar
yohan
Bonjour,

Merci beaucoup ca marche trés bien !!!

bonne journée.

-----Original Message-----
Remarque :

Après une insertion, il est interessant de récupérer
la valeur de l'ID attribué par le serveur.

Juste après l'instruction INSERT tu récupéres la valeur


avec @@IDENTITY

INSERT INTO MyTAble VALUES( , , , )
SELECT @MyID = @@IDENTITY




"yohan" a écrit


dans le message de
news:0fd601c54190$66437480$
Bonjour,

je débute sous msde, et voudrait insérer des lignes dans
une table dont la clé primaire est le champs 'ID' de type
entier.

Je voulais savoir si sql serveur ( enfin msde donc) etait
capable de gérer tout seul l'incrémentation de la clé
primaire, du champs ID donc, losrque je fais une
insertion ?

Ou suis-je obligé de créer une fonction qui cherche dans
ma table un ID de libre, puis passe l'ID trouvé dans une
requete d'insertion ?

Merci d'avance !


.



Avatar
Bonjour,

j'ai constaté qu'en supprimant des lignes dans
ma table, par exemple l'enregistrement n° 2 ( ID=2 ), puis
en insérant un nouvel élément dans ma table qui en compte
déjà 10 par exemple, la nouvelle entrée aura un ID
alors que l'ID 2 est libre.

Je trouve qu'il est dommage de ne pas réutiliser les ID
laissé libre par une suppression. Cela prouve aussi que le
moteur SQL ne possède pas de petite routine pour trouver
un ID de libre....a moins que je me trompe !

a bientot.
yohan.

-----Original Message-----
Bonjour,

Merci beaucoup ca marche trés bien !!!

bonne journée.

-----Original Message-----
Remarque :

Après une insertion, il est interessant de récupérer
la valeur de l'ID attribué par le serveur.

Juste après l'instruction INSERT tu récupéres la valeur


avec @@IDENTITY

INSERT INTO MyTAble VALUES( , , , )
SELECT @MyID = @@IDENTITY




"yohan" a écrit


dans le message de
news:0fd601c54190$66437480$
Bonjour,

je débute sous msde, et voudrait insérer des lignes dans
une table dont la clé primaire est le champs 'ID' de type
entier.

Je voulais savoir si sql serveur ( enfin msde donc) etait
capable de gérer tout seul l'incrémentation de la clé
primaire, du champs ID donc, losrque je fais une
insertion ?

Ou suis-je obligé de créer une fonction qui cherche dans
ma table un ID de libre, puis passe l'ID trouvé dans une
requete d'insertion ?

Merci d'avance !


.



.