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 :

[CODE] auto incrémentation ?


Sujet :

MS SQL Server

  1. #1
    Roi
    Roi est déconnecté
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [CODE] auto incrémentation ?
    Salut,
    Je voudrais faire un insert, dans une nouvelle table, de données qui se trouvent dans un autre table et je voudrais faire en sorte qu'une colonne ait un chiffe incrémenté automatiquement ( avoir un id unique en quelque sorte ) .
    J'ai beau chercher j'ai l'impression qu'en transact SQL ca n'existe pas.

  2. #2
    En attente de confirmation mail
    Inscrit en
    Novembre 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 51
    Points : 58
    Points
    58
    Par défaut Re: [CODE] auto incrémentation ?
    Citation Envoyé par Roi
    Salut,
    Je voudrais faire un insert, dans une nouvelle table, de données qui se trouvent dans un autre table et je voudrais faire en sorte qu'une colonne ait un chiffe incrémenté automatiquement ( avoir un id unique en quelque sorte ) .
    J'ai beau chercher j'ai l'impression qu'en transact SQL ca n'existe pas.
    IDENTITY pour auto-incrémentation d'une colonne

  3. #3
    Roi
    Roi est déconnecté
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Oui c'est ce que j'ai trouvé mais quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO [table]
    SELECT  IDENTITY ( int,1,1) as id, [tableorigine].[colonne] as nom
     FROM [table]
    Ca me répond

    The IDENTITY function can only be used when the SELECT statement has an INTO clause.

    Alors c'est gentil tout ca mais je vois pas comment rajouter un "INTO" dans ma requête. ( sur MSDN c'est pas expliqué )

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Tu ne dois pas specifier la colonne, car elle s'incremente... automatiquement (d'ou son nom )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO [table]
    SELECT   [tableorigine].[colonne] as nom
     FROM [table]
     
    ALTER TABLE [table] ADD id numeric(10,0) identity
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Roi
    Roi est déconnecté
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    En effet tu as raison !!

    Donc j'ai fait ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO [table] 
    SELECT  [tableorigine].[colonne] as nom 
     FROM [table]
    Ce code marche il balance bien les valeurs dans une colonne et l'autre colonne est incrémentée mais apparemment le problème c'est la valeur de départ la première fois c'est "1,2, etc,30" puis quand je relance la requete la première colonne commence à la dernière valeur utilisée précédemment par exemple "31,32,etc,60"
    Je ne trouve pas la commande qui reset la variable IDENTITY.

    Si vous aviez une DOC assez complète ( une bible) en ligne je suis preneur

  6. #6
    Roi
    Roi est déconnecté
    Futur Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bon jai fini par trouver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC CHECKIDENT (table, RESEED, 0)
    Mais pas forcément la ou j'aurais du

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

Discussions similaires

  1. Récupéré le dernier code auto incrémente insérer
    Par zaghi dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 23/02/2012, 15h53
  2. [WD9]champ auto-incrémente par code
    Par loic20h28 dans le forum WinDev
    Réponses: 4
    Dernier message: 25/02/2008, 20h53
  3. prbl auto-incrémente
    Par cb dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/11/2003, 11h32
  4. Dernière clé auto incrémenté ?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/11/2003, 10h41
  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