begin process at 2010 03 19 11:14:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

recupéré l'id d'un INSERT


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

recupéré l'id d'un INSERT

mardi 29 mars 2005 à 16:21:46 | recupéré l'id d'un INSERT

Bowen123

Sous SQL Server,

Je souhaite récupéré mon id (clef primaire auto incrémenté) immédiatement apres un insert.

Y a til une solution autre que de refaire un select ?

merci
mercredi 30 mars 2005 à 11:05:09 | Re : recupéré l'id d'un INSERT

fabrice69

Administrateur CodeS-SourceS
Réponse acceptée !
Ca se fait juste après l'insert en récupérant la variable systeme qui renvoie le dernier ID entré dans la table, voila la copie de la MSDN la dessus :

@@IDENTITY

Returns the last-inserted identity value.

Syntax

@@IDENTITY

Return Types

numeric

Remarks

After an INSERT, SELECT INTO, or bulk copy statement completes, @@IDENTITY contains the last identity value generated by the statement. If the statement did not affect any tables with identity columns, @@IDENTITY returns NULL. If multiple rows are inserted, generating multiple identity values, @@IDENTITY returns the last identity value generated. If the statement fires one or more triggers that perform inserts that generate identity values, calling @@IDENTITY immediately after the statement returns the last identity value generated by the triggers. The @@IDENTITY value does not revert to a previous setting if the INSERT or SELECT INTO statement or bulk copy fails, or if the transaction is rolled back.

@@IDENTITY, SCOPE_IDENTITY, and IDENT_CURRENT are similar functions in that they return the last value inserted into the IDENTITY column of a table.

@@IDENTITY and SCOPE_IDENTITY will return the last identity value generated in any table in the current session. However, SCOPE_IDENTITY returns the value only within the current scope; @@IDENTITY is not limited to a specific scope.

IDENT_CURRENT is not limited by scope and session; it is limited to a specified table. IDENT_CURRENT returns the identity value generated for a specific table in any session and any scope. For more information, see IDENT_CURRENT.

Examples

This example inserts a row into a table with an identity column and uses @@IDENTITY to display the identity value used in the new row.

INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'


Romelard Fabrice (Alias F___)
jeudi 26 mai 2005 à 15:39:28 | Re : recupéré l'id d'un INSERT

palm56

Cependant cela peut être relativement dangereux dans le cas où la base de données est très exploitée.

Si beaucoup d'insertion sont faites dans la BDD (quelque soit la table d'ailleurs, car @@identity contient le dernier id auto créé dans la BDD et non dans une table), tu peux récupérer le mauvais ID.


Cette discussion est classée dans : insert, id, recupéré


Répondre à ce message

Sujets en rapport avec ce message

INSERT a l'id qu'on vient de DELETE [ par Bassman ] Voila j'aimerais savoir sous mysql comment forcé l'insertion dès le "départ", c'est a dire, par exemple dans votre table utilisateur vous venez d'en s @@identity apres Insertion [ par issoux ] Bonjour,  J'utilise dans une stored procedure trois  Insert . J'ai besoin de l'id du premier insert pour le mettre dans le deuxieme Insert . Mes id so Pb Insert into !!!! Urgent ... [ par tousimages ] Voila je n'arrive pas a soumettre cette requete a accessil y a 21 champsid --> numeroAutocivilite, nom , prenom , societe, adr1, adr2 --> textecodepos last_insert_id() [ par engelho ] Bonjour,J'utilise un insert pour ajouter une ligne a une table contenant une clef primaire générée automatiquement. Je souhaite récupérer cette clef p Probleme d'insert sql a partir d'un code C [ par caro4200 ] Bonjour,J'ai une procédure stockée qui s'excute bien lorsque je l'appelle de dataviewer.Par contre, lorsque je l'appelle à partir d'un code C, on sort Comment annuler un INSERT dans un Trigger ? [ par vladam ] Bonjour, j'ai un trigger suivant :Que dois-je mettre à la place de "-- Annuler l'insert" pour annuler l'insert en cours ?ALTER</ insert with connect in PL/SQL [ par peaceof ] slt a tous ,j'ai pas reussi a finaliser un trigger "create or replace trigger agence after insert on agencefor each rowBeginconnect as kairouan/sa@tel fonction mysql_insert_id [ par scorpion077 ] Bonjour,le code suivant est censé tout d'abord ajouter une nouvelle photo dans la table photo, puis récupérer l iD de la dernière photo ajouter et l'e Procedure Insert du dernier ID [ par ecureuilmasque ] Bonjour,Je veux recupérer le dernier ID lors du dernier insert avec Select @@IDENTITY.Voici la procedure :ALTER PROCEDURE sp_insertbug_IHM_Bug     @As Recuperer ID pas encore crée [ par Zachs ] Hello j'aimerai pouvoir recuperer l'ID d'un enregistrement que je n'ai pa encore crée pour ou qu'une fois qu'il est crée je puisse le reprendre pour l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales