IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Dernière clé auto incrémenté ?


Sujet :

MS SQL Server

  1. #1
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut Dernière clé auto incrémenté ?
    Comment récuperer la dernière clé autoincrémenté en SQL Server 2000

  2. #2
    Fox
    Fox est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Si mes souvenirs sont bons :
    @+

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Comment savoir que l'autoincrément correspond à telle ou telle table ?
    Quelle est la table associé à l'autoincrément ?

  4. #4
    Fox
    Fox est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Je ne crois pas que tu puisses savoir de quelle table il provient.
    Pour info, voilà les infos SQL-Server originales concernant @@identity :
    @@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'
    @+

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    j'ai compris.
    Il est donc important de recuperer ton @@Identity dans une procedure stockee et à la suite d'un Insert et là vous êtes rassuerer de connaître la table concernée par la dernière insertion.

  6. #6
    Fox
    Fox est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    C'est tout à fait ça

    @+

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Il est donc important de recuperer ton @@Identity dans une procedure stockee et à la suite d'un Insert et là vous êtes rassuerer de connaître la table concernée par la dernière insertion.
    Sauf si tu fais un insert dans la table1 qui par trigger fait un insert dans la table2 dans ce cas ton @@identity se rapportera à celui de table2 je crois.
    A+

  8. #8
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Bien entendu, vous devez vous rassurez que votre insert est la plus ressente.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 1er déclenchement d'un trigger d'auto-incrément
    Par babylone7 dans le forum Administration
    Réponses: 11
    Dernier message: 11/03/2004, 16h21
  2. Pb d'auto incrémentation sous interbase !!!
    Par le.clown dans le forum InterBase
    Réponses: 2
    Dernier message: 26/02/2004, 14h11
  3. prbl auto-incrémente
    Par cb dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/11/2003, 11h32
  4. [CODE] auto incrémentation ?
    Par Roi dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 25/09/2003, 15h09
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo