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 :

Charger une table avec PK, puis ajouter identity sur la PK


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Par défaut Charger une table avec PK, puis ajouter identity sur la PK
    Bjr

    J'ai une table dans laquelle la clé primaire est un INT.
    Je dois tout d'abord migrer des données d'une autre table (donc en conservant le numéro que j'avais dans l'ancienne table).
    Puis une fois que ma table sera alimentée, il y aura des nouvelles insertions par une autre application.

    Je souhaiterai donc :
    1. modifier ma colonne de clé primaire (qui contiendra donc déjà des données) en lui ajoutant un autoincrément de 1 qui commencerait à 10000 puisque j'ai moins de 10000 lignes dans mon ancienne table. Donc passer ma colonne de clé primaire en (identity(10000,1).

    2. Ou alors désactiver l'autoincrémentation le temps que je fasse mon chargement de données de l'ancienne table. Puis réactiver l'autoincrémentation.

    Merci de votre aide sur quelle est la meilleure des solutions ? Et comment faire svp ?

    Héloïse

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 9
    Par défaut Soluce
    J'ai trouvé la solution, donc pour info je vous la laisse...

    On peut désactiver l'autoincrément par la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET IDENTITY_INSERT nom_table ON
    Puis faire son insertion en spécifiant bien le nom des colonnes de destination de la table une par une : insert into nom_table (col1, col2) values (20, titi).

    Puis réactiver l'autoincrément par la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET IDENTITY_INSERT nom_table OFF
    L'autoincrément repartira alors à 21 (si il est de 1 évidement !)


    a +

    Edit Morsi :Merci d'utiliser les balises adéquates dont <CODE> et de mettre résolu si le problème est résolu

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

Discussions similaires

  1. Charger une table avec plusieurs sources de données
    Par Badouh dans le forum QlikView
    Réponses: 1
    Dernier message: 30/05/2013, 09h03
  2. [MySQL] Ajouter des données dans une table avec la cmd update
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/09/2007, 19h54
  3. ajouter une table avec vb6
    Par thunderpat dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 13/06/2007, 09h54
  4. Ajouter des champ dans une table avec une procedure sp
    Par Abdou1 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/07/2006, 18h32
  5. [forms 6i] charger un fichier dans une table avec sqlloader
    Par moneyinthebank dans le forum SQL*Loader
    Réponses: 8
    Dernier message: 29/04/2006, 01h15

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