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 :

[SQL Server 2005 edit: 2000] Requete sur l'auto incrementation


Sujet :

MS SQL Server

  1. #1
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut [SQL Server 2005 edit: 2000] Requete sur l'auto incrementation
    info :
    - sql server 2005

    Bonjour aux forums,

    Une table possede une colonne id auto incrémenté de 1 en 1.
    Je voudrais récuperer le dernier nombre incrémenté sachant que le dernier enregistrement a pu etre effacé, un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select max(id) from table
    n'est pas envisageable, et je me demande si c'est possible ???

    En plus clair : le dernier nombre incrémenté est de 150, et mon dernier enregistrement dans la base est 130 par exemple, comment je fais pour récupérer la valeur 150 !?

    Cordialement.

  2. #2
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select @@identity from table
    me retourne que des valeurs null, pk ?

  3. #3
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT IDENT_CURRENT('id') from table
    renvoie aussi tjs null

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 58
    Points
    58
    Par défaut Re
    bonjour
    avec cette requête cela devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT sys.identity_columns.last_value 
      FROM sys.tables
      JOIN sys.identity_columns ON (sys.identity_columns.object_id = sys.tables.object_id)
      where sys.tables.name = 'nom de la table'

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 58
    Points
    58
    Par défaut Re
    sys.tables est en minuscule (cela peut être important suivant la config du serveur) je ne sais pas pourquoi cela passe en majuscule qund je poste !

  6. #6
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    C nikel ca marche !
    Mais sous mon environnement de développement, alors que la prod tourne sous sql server ... 2000 , et la ca ne fonctionne pas

    Voila le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Serveur : Msg 208, Niveau 16, État 1, Ligne 1
    'sys.tables' : nom d'objet incorrect.
    Serveur : Msg 208, Niveau 16, État 1, Ligne 1
    'sys.identity_columns' : nom d'objet incorrect.

  7. #7
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    En meme temps sous sql server 2000, dans les vues je n'ai que syscontraints et syssegments.

    C'est donc possible de récuperer la derniere valeur ?

  8. #8
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Peut-être que le driver que tu utilises dans ton environnement de développement n'accède qu'aux tables, et pas aux vues... ?
    C'est quel environnement ?

    ced

  9. #9
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    Voila un screen de mon environnement avec les différentes tables et vues systèmes et la version que j'utilise.

    Mon environnement de prod c'est sql server 2000.

    C'est sympas de porter de l'attention au post!

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 888
    Points : 53 121
    Points
    53 121
    Billets dans le blog
    6
    Par défaut
    Plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IDENT_CURRENT('MaTable') AS LAST_ID
    A +

  11. #11
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par SQLpro
    Plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IDENT_CURRENT('MaTable') AS LAST_ID
    A +
    Ah oké, en faite je faisais un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT IDENT_CURRENT('id') FROM TABLE



    Merci SQLPro c'est cool

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

Discussions similaires

  1. Requête sur Sql Server 2005 et 2000
    Par gazier20 dans le forum Développement
    Réponses: 1
    Dernier message: 05/01/2010, 15h23
  2. Réponses: 2
    Dernier message: 10/06/2009, 14h57
  3. [SQL Server 2005] Clause order by sur un curseur
    Par nox75 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/09/2008, 15h45
  4. [SQL-Server] Connexion à SQL Server 2005 edition express
    Par hebus73 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/02/2008, 10h32
  5. [ms sql server 2005] imprimer le diagramme sur une page
    Par Husqvarna dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 15/08/2007, 10h46

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