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

Développement SQL Server Discussion :

Auto incrément et clé primaire


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut Auto incrément et clé primaire
    Bonjour.
    Un petit soucis avec ces notions

    Je dois sélectionner des données d'une table,
    les mettre dans une table temporaire,
    supprimer la table source,
    la recréer sans "identity(1,1)
    lui insérer les données de la tables temporaire,
    remettre une pk avec auto incrément et unicité.

    Je n'y arrive pas?
    Lorsque je drope ma table puis la recrée, j'ai une erreur me disant que la contrainte existe déjà.
    Pouvez vous me donner les bons scripts pour la création de la table sans contrainte aprés sa suppression puisl'ajout (l'alter table) permettant de mettre une PK en autoincrément et unique et aprés avoir remplis la table.

    Merci de votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.
    J'ai un peu avancé.

    J'ai recréée ma table avec ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE maTable(
    	[id] [int] NOT NULL,
    	[colonne1] [int] NULL,
    	[colonne2] [nvarchar](10) NOT NULL
    )
    et je souhaite ajouter ces contrainte après la création avec en plus la création d'une clé primaire sur la colonne id :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE maTable(
    	[id] [int] IDENTITY(1,1) NOT NULL,
    	[colonne1] [int] NULL,
    	[colonne2] [nvarchar](10) NOT NULL
    ) ON [PRIMARY]
    Que faut t-il changer au script ci dessous pour arriver à mon but :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE maTable   
    ADD CONSTRAINT PK_maTable_id PRIMARY KEY CLUSTERED (id);

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    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 : 22 002
    Billets dans le blog
    6
    Par défaut
    Vous ne pouvez pas procéder par un ALTER TABLE pour changer la propriété IDENTITY d'une table. La propriété IDENTITY se définit à la création de la table.

    Rien ne vous empêche de créer votre table de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE maTable(
    	[id] [int] IDENTITY NOT NULL PRIMARY KEY,
    	[colonne1] [int] NULL,
    	[colonne2] [nvarchar](10) NOT NULL
    )
    Puis de forcer des valeurs dans l'auto incrément via SET IDENTITY_INSERT.

    Lisez l'article que j'ai écrit à ce sujet : https://blog.developpez.com/sqlpro/p...vec_sql_server

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Merci pour cette réponse.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/07/2010, 23h48
  2. Réponses: 1
    Dernier message: 06/11/2008, 14h25
  3. création clé primaire auto incrémentable SQL ACCESS ?
    Par colorid dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/11/2007, 14h25
  4. [TRANSACT-SQL] clé primaire qui s'auto-incrémente
    Par DonJR dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/05/2006, 11h16
  5. [VB.NET] [ADO.NET] Clef primaire auto incrémenté
    Par Guld dans le forum Accès aux données
    Réponses: 4
    Dernier message: 25/09/2004, 20h46

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